【发布时间】:2017-06-09 10:51:16
【问题描述】:
我的情况。尝试在同一个盒子上多次运行 docker-compose 结构。这是我的 docker-compose.yml:
version: '3'
services:
code:
image: organization:java-maven
links:
- mysql:mysql
volumes:
- "${PWD}:/home/ubuntu/src"
mysql:
image: organization:mysql
使用docker-compose run code mvn clean test 运行两次会创建两个code 容器和一个mysql 容器。
现在,我希望将一个 code 链接到一个 mysql,并将 另一个 code 链接到 另一个 mysql。
我该如何做到这一点?这应该在jenkins slave上运行,maven执行不能共享mysql。
我在 docker compose 文件中尝试使用 docker-compose run 和 container_name 的“-e KEY=VALUE”选项失败了。
不知道怎么解决,请帮忙,谢谢。
【问题讨论】:
-
为什么不明确指定第二个
code容器并将其与适当的mysql容器链接,而不是“两次”运行它? -
因为当 jenkins 触发分支中的更改时,它会启动一个 ec2 实例(构建从站),然后执行 jenkins 管道。该管道使用 docker compose setup 运行 maven 测试。管道中的单个测试执行不关心其他正在运行的管道,并且 jenkins slave 被配置为运行多个执行器。
-
MySQL 容器对于所有带有代码容器的并发管道是否应该相同?
-
不,所有管道容器都应该有自己的 MySQL 容器。
标签: docker docker-compose