我正在使用一个码头容器作为我的Jenkins服务器的数据专用卷。因此,要启动Jenkins服务,我需要运行两个连续的命令:
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命令之后立即退出,所以它每隔几秒钟就会重新运行一次。
本质上,我希望将这两个容器视为在服务器启动时自动启动的服务。
发布于 2015-06-20 21:44:14
首先,您没有使用数据专用容器。由于您实际上是在挂载主机卷,所以数据容器实际上不会为您购买任何东西:您也可以轻松地用-v /path/to/volume:/var/jenkins_home命令行选项替换第二个容器上的-v /path/to/volume:/var/jenkins_home。
其次,不需要“启动”数据容器就可以在--volumes-from中引用它。考虑:
docker run --name mydata -v /data busybox true这个容器会立即退出(因为我们只是运行true)。但现在我可以这么做了
docker run --volumes-from mydata -it busybox sh我可以从/data容器中看到mydata卷:
/ # df -P |grep data
/dev/mapper/tank-docker 10190136 357972 9815780 4% /data这意味着您实际上不需要担心启动多个容器。只要数据容器存在,就可以在Jenkins容器中的--volumes-from中引用它。
https://stackoverflow.com/questions/30959104
复制相似问题