【发布时间】:2017-02-20 11:02:55
【问题描述】:
我在 Windows 10 上使用 Docker 版本 1.13.1,build 092cba3。
我有一个自定义的 Jenkins 容器,它从 Github 以卷的形式构建代码。
音量为/var/jenkins_home/workspace/myjob。
我还有一个 Apache 容器,我想与之共享卷。
docker-compose.yml 文件是:
version: '2'
services:
jenkins:
container_name: jenkins
image: jenkins:v1
environment:
JAVA_OPTS: "-Djava.awt.headless=true"
JAVA_OPTS: "-Djenkins.install.runSetupWizard=false" # Start jenkins unlocked
ports:
# - "50000:50000" # jenkins nodes
- "8686:8080" # jenkins UI
volumes:
- myjob_volume:/var/jenkins_home/workspace/myjob
apache:
container_name: httpd
image: httpd:2.2
volumes_from:
- jenkins
volumes:
myjob_volume:
我基本上希望 Jenkins 容器获取卷中的代码,然后 Apache (httpd) 容器可以看到该代码。因此,我从 IDE 对代码所做的每一次更改并推送到 Github,都将在 Apache 容器中可见。卷是在Apache容器中创建的,但是当我在Jenkins容器中成功构建代码时,它并没有出现在Apache中的卷中。
编辑:
使用docker-compose up -d 启动两个容器后,
- 我从 Kitematic 启用了他们的卷
- 我将 Apache 的卷路径更改为指向 Jenkins 卷
- 当我从 Jenkins 构建代码时,Apache 会如我所愿。
那么...我应该如何从docker-compose 文件中执行相同的操作?
【问题讨论】:
标签: apache jenkins docker docker-compose docker-volume