最初我的Dockerfile
的最后一行是:
RUN puppet apply /etc/puppetlabs/puppet/master.pp
我只需要在创建和装载容器后运行命令,所以我改为:
ENTRYPOINT puppet apply /etc/puppetlabs/puppet/master.pp
此更改修复了我的原始问题,但创建了另一个,容器在命令完成后停止。
我发现我可以通过添加类似&& while true; do sleep 1000; done
的内容来保持容器的运行。
这看起来有点hacky,我想知道是否有更好的方法来阻止我的容器停止?
注意:我在网上看到了一些人们在运行docker命令时使用标志的建议。所以我要指出我是使用docker-compose
初始化此容器。
答案 0 :(得分:1)
我使用&& sleep infinity
。 (请注意,busybox sleep
不提供infinity
- 只有coreutils
会这样做。)