【发布时间】:2014-10-13 08:07:19
【问题描述】:
我提取了一个名为 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
首先,虽然新图像在 commit 操作后丢失了 CMD。
参考https://github.com/docker/docker/pull/4000,commit后CMD会保留;
我的问题是为什么当我获得 CMD 时我的容器无法在分离模式下运行。 php.5.6-apache是官方的,我随便摸了个里面的空白文件。
ps: 当我在 /var/lib/docker/graph 中检查 json 中的图像时,我发现我的新图像具有与原始图像不同的 Cmd 配置:
old: "Cmd":["/bin/sh","-c","#(nop) CMD [apache2 -DFOREGROUND]"]
new: "Cmd":["apache2","-DFOREGROUND"]
docker logs 显示消息:https (pid 1) already running。
【问题讨论】:
-
docker logs为该容器返回什么? -
@ThomasOrozco 以下是日志:AH00558:apache2:无法可靠地确定服务器的完全限定域名,使用 172.17.0.31。全局设置“ServerName”指令以禁止显示此消息。 httpd (pid 1) 已经在运行
标签: docker