我有一个我想要部署的图像。想象一下myapp:latest图像中的web应用程序:
FROM debian:jessie
[...]
EXPOSE 80
CMD ["/bin/bash", "/bin/run_myapp.sh"]其中/bin/run_myapp.sh从/etc/myapp.conf.加载配置文件要部署具有3个不同配置文件的3个实例,我认为可以这样做:
C1=$(docker run -d myapp)
C2=$(docker run -d myapp)
C3=$(docker run -d myapp)
...
docker cp myapp1.conf $C1:/etc/myapp.conf
docker cp myapp2.conf $C2:/etc/myapp.conf
docker cp myapp3.conf $C3:/etc/myapp.conf但是有了这个想法,容器已经在运行,所以/bin/run_myapp.sh已经读取了/etc/myapp.conf.。如果我在启动myapp之前使用docker cp,则不存在容器。
这个部署场景可以使用什么docker解决方案?
发布于 2015-11-10 08:24:50
解决方案是在口渴步骤中使用create,然后执行cp,最后执行start容器。
C1=$(docker create myapp)
C2=$(docker create myapp)
C3=$(docker create myapp)
docker cp myapp1.conf $C1:/etc/myapp.conf
docker cp myapp2.conf $C2:/etc/myapp.conf
docker cp myapp3.conf $C3:/etc/myapp.conf
docker start $C1
docker start $C2
docker start $C3https://stackoverflow.com/questions/33619151
复制相似问题