Tag: devops

Spring启动docker mount共享logbackconfiguration文件

我有一个微型服务架构的春季启动应用程序。 像10弹簧启动容器运行。 加载我打算做的logback.xml的设置看起来像这样。 当我启动容器时,如何在弹簧引导embedded式jar /容器中装载和加载logback.xml。 我的想法是这样的。 这将运行春季启动应用程序确定。 docker run -d –name=app1 app_image 像这样的东西是我正在寻找实现加载logback.xml docker run -d –name=app1 –volume=/home/host-path/log-back-conig-dir/:/container-app-dir/ app_image docker run -d –name=app2 –volume=/home/host-path/log-back-conig-dir/:/container-app-dir/ app_image docker run -d –name=app3 –volume=/home/host-path/log-back-conig-dir:/container-app-dir/ 更多信息 我正在使用从官方spring引导中获取的Dockerfile示例 spring.io/guides/gs/spring-boot-docker Dockerfile FROM openjdk:8-jdk-alpine VOLUME /tmp ARG JAR_FILE ADD ${JAR_FILE} app.jar ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"] logback.xml看起来像这样 <?xml version="1.0" encoding="UTF-8"?> <configuration> <springProperty scope="context" name="springAppName" source="spring.application.name"/> <include […]

Docker-compose自动同步项目文件

如何在docker-compose.yml文件中设置自动同步? 我需要将项目文件中的更改从主机自动同步到容器。

从docker运行jenkins没有显示初始安装页面

写了一个Dockerfile在阿尔派斯山口上运行jenkins。 这是dockerfile。 FROM alpine RUN apk update && \ apk add curl \ wget \ openjdk8 \ ttf-dejavu COPY ./jenkins.war /home/jenkins/jenkins.war WORKDIR /home/jenkins RUN java -jar jenkins.war 它成功运行 为什么没有显示初始设置页面。 浏览http:0.0.0.0:8080的时候就是这样。 它显示了一个login页面。

Dockercomposer php为新人

我是新来的docker世界,我正在“尝试”为我的PHP源代码做一个docker图像。 到目前为止,我已经提出了一些docker指令。 我已经完成了一个图像。 我知道发现自己想要 input容器 运行composer php安装在我的项目的根 这是我的docker图像的样子 # Pull base image. FROM composer/composer:master-php5 # Install rsync for deployment RUN apt-get update \ && apt-get install -y openssh-client rsync php-soap php5-gd zlib1g-dev libicu-dev g++ git \ && rm -r /var/lib/apt/lists/* #install mysql pdo RUN docker-php-ext-install pdo pdo_mysql soap gd intl # Set correct entrypoint CMD […]

Makefile,运行docker容器

我有一个像这样的makefile: APP_NAME=my-cool-project/codeception ROOT_DIR=${PWD} all: docker_build \ docker_run \ composer_build \ codeception_run docker_build: ## Build the container composer install docker_run: docker run –entrypoint /bin/bash -i -t -v $(ROOT_DIR):/app $(APP_NAME) composer_build: composer install codeception_run: vendor/bin/codecept 当我运行make all它不会执行composer php安装,因为它切换到不同的环境(docker运行交互模式)。 即使在与docker进行交互模式时,如何执行作曲者安装和代码运行

使用docker容器作为代理

一般来说,我正在尝试使用泊坞窗容器作为同一networking覆盖内的其他docker容器的HTTP代理。 让我们调用这个代理容器网关。 假设网关configuration了所有必需的CA证书,此网关假设将接收到的HTTP请求更改为HTTPS请求,并将其转发给外部世界。 现在让我们来具体说明一下,我使用的是docker swarm和services + replicas,网关在端口80上提供了一些API,而容器使用网关的服务名+端口80来请求这个API(这与代理I需要),例如: HTTP://网关:80 / API /注销 我也想用这个端口代理,这意味着其他容器可以发送HTTP请求到端口80上的某个IP(而不是DNS),这个请求将通过网关,而网关将查看http请求看到这个消息不是“他”,它会执行http S (端口443)请求到实际的外部服务器。 我不能在下面的链接中使用Docker代理的解决scheme: https://docs.docker.com/engine/admin/systemd/#httphttps-proxy 因为这个HTTP代理解决scheme只适用于已经运行的代理,而不是一个dockerized。 (如果我使用它,docker将无法从repo获取图像,因为它将查找不存在的代理,因为docker本身没有启动Gateway容器)。 所以,这使我面对这个问题。 我将如何将内部容器请求转发到网关,而不使用网关服务名称。 我认为iptables是唯一的select,但如何? 我不能使用网关IP,因为网关是3个虚拟机上的副本,并且IP发生了变化,无论如何,任何发送http:// some_external_server_ip:80 / some_api的容器都需要以某种方式通过网关。 TLDR 我可以在iptables中执行一些操作(使用docker链和PREROUTING链),将端口80上的所有数据包(通过覆盖networking中的容器发送)转发到名为Gateway的服务容器中,而忽略目标ip? (只能由端口识别数据包并将其转发给特定的合作者) 希望这是明确的… =)

延迟厨师,直到资源完成其任务

我有一个厨师的食谱,带来了一个MySQLdocker容器,然后,如果通过一些逻辑,连接到它加载一些数据库条目。 问题是,它总是首先运行失败,因为在mysql容器启动并准备好接受连接之前,它会继续负责恢复数据的资源。 下面是容器的配方部分: docker_container 'imhere-mysql' do hostname mysqlHost repo 'lutraman/imhere' tag 'mysql' env ["MYSQL_ROOT_PASSWORD=#{mysql_password}"] volumes [ '/var/imhere/mysql:/var/lib/mysql' ] action :run end 这是恢复的部分: remote_file "#{parent_data_dir}/#{db_restore_filename}" do source "#{db_restore_url}/#{db_restore_filename}" notifies :run, 'execute[mysql_load_dump]' end execute "mysql_load_dump" do command "#{scripts_dir}/mysql_restore_dump.sh" environment( 'MYSQL_HOSTNAME' => mysqlHost, 'PARENT_DATA_DIR' => parent_data_dir, 'DB_RESTORE_FILENAME' => db_restore_filename, 'MYSQL_PASSWORD' => mysql_password, 'RETRIES' => "10" ) action :nothing […]

什么是使用Rancher(或Kubernetes)将微服务(docker)从OVH迁移到AWS的最佳方式?

我有一堆微服务(docker),我需要从OVH传输/迁移到AWS。 他们由牧场主协调。 什么是最好/最简单的方法来完成呢? 另外,我计划在未来使用Kubernetes。 我应该以某种方式使用它而不是Rancher吗? 还是应该先用Rancher迁移/传输服务,然后再进行切换? 谢谢!

可以将docker图像推送到Artifactory,但不能拉

目前有一个奇怪的问题,试图从Artifactory拉下我的docker图像,任何需要,将不胜感激。 当我运行“docker拉”我得到以下内容: [mark@host]$ sudo /usr/bin/docker pull ficc-artifactory.bns/product/docker-image:0.2.0 Error response from daemon: unknown: Not Found 这让我觉得很好,也许我需要首先login到registry(以便守护进程知道它),但没有骰子: [mark@host]$ sudo /usr/bin/docker login -u "mark" -p "pwd" -e "mark@email.com" ficc-artifactory.bns Error response from daemon: Unexpected status code [404] : { "errors" : [ { "status" : 404, "message" : "Not Found" } ] } 请注意证书已到位: [mark@host]$ sudo ls -ltr […]

依赖容器以及与IBM DevOps Services构buildpipe道的链接

我目前正在使用docker-compose部署一个基于容器的应用程序。 该应用程序有几个链接到依赖关系的组件(即后端链接到一个mongo容器)。 例如( docker-compose.yml ): mongo: container_name: backend-mongo image: mongo ports: – "27017" backend: container_name: backend image: backend:production ports: – "6002:6002" links: – mongo 有没有人在使用IBM DevOps Services(IDS)Build Pipeline和IBM Containers时发现了一个等价的方法? 目前我只能find部署独立容器的例子。 现在我的方法是手动(游戏)运行mongo容器,让IDS构build和部署其他部分。