在入口点之后保持docker组合容器运行

最初我的Dockerfile的最后一行是:

 RUN puppet apply /etc/puppetlabs/puppet/master.pp 

我只需要该命令运行一次容器被创build和安装,所以我改为:

 ENTRYPOINT puppet apply /etc/puppetlabs/puppet/master.pp 

该更改修复了我原来的问题,但创build了另一个,容器在命令完成后停止。

我发现我可以通过添加类似&& while true; do sleep 1000; done东西来保持容器运行正常&& while true; do sleep 1000; done && while true; do sleep 1000; done && while true; do sleep 1000; done

这似乎有点hacky,我想知道是否有更好的方法来保持我的容器停止?

注意:我在网上看到了一些在运行docker命令时使用标志的build议。 所以我会指出,我正在使用docker-compose初始化这个容器。

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