在ENTRYPOINT之后保持docker-compose容器运行

时间:2017-05-10 17:25:05

标签: docker

最初我的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初始化此容器。

1 个答案:

答案 0 :(得分:1)

我使用&& sleep infinity。 (请注意,busybox sleep不提供infinity - 只有coreutils会这样做。)