我知道这是草率的,但我是Docker的新手,只是试图抓住它。我正在拉图片FROM wordpress:4.9.2-php7.2-apache
我然后尝试从我的Dockerfile中覆盖deflate.conf
文件。我正在使用的命令如下。
ADD /deflate.conf ../../../etc/apache2/mods-available/
使用此命令可以正确构建映像,但是一旦运行它,容器会立即失败吗?
当我注释掉ADD行,build/run
图像时,容器运行正常。所以我尝试从命令行复制命令,如下所示:
docker cp deflate.conf <name>:../../../etc/apache2/mods-available/deflate.conf
使用此命令一切正常,我得到了理想的结果。
我不知道为什么我的Dockerfile不能正常工作,但命令行呢。 任何帮助将非常感谢。
答案 0 :(得分:0)
我认为您可以使用命令行获得相同的结果:
COPY /deflate.conf ../../../etc/apache2/mods-available/deflate.conf
你的Dockerfile中的。
答案 1 :(得分:0)
为什么不使用绝对路径的COPY或ADD。格式应该是:
,而不是使用environments:
development:
server:
contextPath: /projectName
../../../etc/apache2/mods-available/deflate.conf
您也可以使用Docker卷。在COPY /deflate.conf /etc/apache2/mods-available/deflate.conf
期间忽略COPY,然后使用docker build
command,包括run
选项:
-v
这也应该可以解决问题。请注意,当apache服务启动时,默认情况下不会加载$ docker run -v /deflate.conf:/etc/apache2/mods-available/deflate.conf -d -p 80:80 test
上的模块,应将活动模块复制到/etc/apache2/mods-available/
。