我怎样才能在提交的图像内以分离模式运行docker集装箱

我拉了一个名为php:5.6-apache的图像,运行它,在/ var / www / html中触摸一个文件,然后提交它。

然后我尝试以分离模式运行新的图像:

# docker run --name test -d staraple/php:v1 

但是容器在启动后立即退出。

 IMAGE COMMAND CREATED STATUS staraple/php:v2 "apache2 -DFOREGROUN 4 seconds ago Exited (0) 3 seconds ago 

尽pipe在提交动作后新图像丢失了CMD

参考https://github.com/docker/docker/pull/4000,CMD提交后保留;

我的问题是为什么我的容器无法在分离模式下运行时,我有一个CMD。 php.5.6-apache是官方的,我只是触摸一个空白文件。

ps:当我在/ var / lib / docker / graph中检查json的图像时,发现我的新图像与原始图像有不同的Cmdconfiguration:

  old: "Cmd":["/bin/sh","-c","#(nop) CMD [apache2 -DFOREGROUND]"] new: "Cmd":["apache2","-DFOREGROUND"] 

docker logs显示消息: https (pid 1) already running

我收到了一个答案forms.docker.com:

https://forums.docker.com/t/how-can-i-run-docker-containers-in-detached-mode-within-a-committed-image/255

我的提交的图像仍然在FS上引入日志“https(pid 1)已经运行”的apache pid。 我应该确保在我最初的运行中干净地closuresApache。

在我的情况下,有必要在提交之前停止容器。