首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何安排两个相互依赖的码头容器的启动和重新启动?

如何安排两个相互依赖的码头容器的启动和重新启动?
EN

Stack Overflow用户
提问于 2015-06-20 21:30:49
回答 1查看 75关注 0票数 3

我正在使用一个码头容器作为我的Jenkins服务器的数据专用卷。因此,要启动Jenkins服务,我需要运行两个连续的命令:

代码语言:javascript
复制
docker run --name=jenkins_data -v /path/to/volume/:/var/jenkins_home busybox
docker run -d --name=jenkins_server -p 8081:8080 --volumes-from jenkins_data --restart="always" jenkins

如何协调这两个容器,使它们自动(重新)启动?如何确保jenkins_data容器在启动jenkins_server之前运行

我尝试为--restart="always"容器设置jenkins_data,但是由于它在第一个docker run命令之后立即退出,所以它每隔几秒钟就会重新运行一次。

本质上,我希望将这两个容器视为在服务器启动时自动启动的服务。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-20 21:44:14

首先,您没有使用数据专用容器。由于您实际上是在挂载主机卷,所以数据容器实际上不会为您购买任何东西:您也可以轻松地用-v /path/to/volume:/var/jenkins_home命令行选项替换第二个容器上的-v /path/to/volume:/var/jenkins_home

其次,不需要“启动”数据容器就可以在--volumes-from中引用它。考虑:

代码语言:javascript
复制
docker run --name mydata -v /data busybox true

这个容器会立即退出(因为我们只是运行true)。但现在我可以这么做了

代码语言:javascript
复制
docker run --volumes-from mydata -it busybox sh

我可以从/data容器中看到mydata卷:

代码语言:javascript
复制
/ # df -P |grep data
/dev/mapper/tank-docker  10190136    357972   9815780   4% /data

这意味着您实际上不需要担心启动多个容器。只要数据容器存在,就可以在Jenkins容器中的--volumes-from中引用它。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30959104

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档