运行命令后停止Docker容器退出

我想用下面的docker文件作为学习puppet的基础。 它的写法是运行一些傀儡命令,然后立即退出。

我试图了解容器告诉自己要closures的位置,以便我可以修改它以保持运行。 Dockerfile如下:

FROM ubuntu:16.04 MAINTAINER Gareth Rushgrove "[email protected]" ENV PUPPET_AGENT_VERSION="1.8.3" UBUNTU_CODENAME="xenial" LABEL org.label-schema.vendor="Puppet" \ org.label-schema.url="https://github.com/puppetlabs/puppet-in-docker" \ org.label-schema.name="Puppet Agent (Ubuntu)" \ org.label-schema.license="Apache-2.0" \ org.label-schema.version=$PUPPET_AGENT_VERSION \ org.label-schema.vcs-url="https://github.com/puppetlabs/puppet-in-docker" \ org.label-schema.vcs-ref="a2b1fbbc73177ddc3def23d167f9beb9c3ef9f6c" \ org.label-schema.build-date="2017-02-21T17:25:14Z" \ org.label-schema.schema-version="1.0" \ com.puppet.dockerfile="/Dockerfile" RUN apt-get update && \ apt-get install --no-install-recommends -y wget ca-certificates lsb-release && \ wget https://apt.puppetlabs.com/puppetlabs-release-pc1-"$UBUNTU_CODENAME".deb && \ dpkg -i puppetlabs-release-pc1-"$UBUNTU_CODENAME".deb && \ rm puppetlabs-release-pc1-"$UBUNTU_CODENAME".deb && \ apt-get update && \ apt-get install --no-install-recommends -y puppet-agent="$PUPPET_AGENT_VERSION"-1"$UBUNTU_CODENAME" && \ apt-get remove --purge -y wget && \ apt-get autoremove -y && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* ENV PATH=/opt/puppetlabs/server/bin:/opt/puppetlabs/puppet/bin:/opt/puppetlabs/bin:$PATH ENTRYPOINT ["/opt/puppetlabs/bin/puppet"] CMD ["agent", "--verbose", "--onetime", "--no-daemonize", "--summarize" ] COPY Dockerfile / 

我怎样才能修改它,使它不会马上closures?

我发现从下面几行删除"--onetime"

 ENTRYPOINT ["/opt/puppetlabs/bin/puppet"] CMD ["agent", "--verbose", "--onetime", "--no-daemonize", "--summarize" ] 

从我正在阅读 --onetime选项更改退出代码是触发退出。