我有这个容器:来自https://hub.docker.com/_/php/的5.6.21-apache
我已经安装了所有需要的程序和我的应用程序,但是在对Apache配置做一些错误时犯了一个错误。
当我尝试启动容器时,收到以下消息:
docker start -ai我的容器
[2016年5月2日星期一19:46:33.358838 2016] [core:warn] [pid 1] AH00111:未定义配置变量$ {APACHE_LOG_DIR} [2016年5月2日星期一19:46:33.365305] [core:warn] [pid 1 ] AH00111:未定义配置变量$ {APACHE_LOG_DIR} AH00558:apache2:无法使用172.17.0.2可靠地确定服务器的标准域名。全局设置'ServerName'指令以禁止显示此消息(2)没有这样的文件或目录:AH02291:无法访问目录'/ etc / apache2 / $ {APACHE_LOG_DIR} /'作为主要错误日志AH00014:配置检查失败
我该如何解决?我要删除此配置。我不能只是丢掉这个容器。
由于您没有提供足够的信息以进行下去,所以我只是在猜测。随时为您的问题添加更多信息,以便更轻松地为您提供帮助。
如果您搜索apache配置文件并查找APACHE_LOG_DIR
,则可能会指出您的问题。
日志中的这一行很有趣:
无法访问目录'/ etc / apache2 / $ {APACHE_LOG_DIR} /'
不知道为什么在/ etc / apache2下会有一个日志目录,但是请查看该目录以查看其中的内容,然后进行相应的设置APACHE_LOG_DIR
。
您可以尝试做的另一件事是执行以下操作
docker commit (container name or Id) myimage
docker run -it myimage /bin/bash
然后再次提交更改以创建固定的映像,然后尝试像平常一样启动它。
docker commit (container Id or name) myimage2
docker run -d -p 80:80 myimage2
基本上将当前容器状态另存为映像,以便您可以在Shell中启动它并解决问题。然后,解决问题后,您可以创建一个新映像并使用它来运行容器。
我通常通过不直接在容器中进行更改来避免这种痛苦,我只在dockerfile中进行更改,然后在需要进行更改时更改dockerfile。如果有问题,我只需要修复dockerfile,容器就不会处于这种不良状态。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句