我使用以下命令运行图像eboraas/apache-php
:
docker run --name eboraas -d -p 80:80 -v /my/project/dir/:/var/www/html \
-v /my/config:/etc/apache2 eboraas/apache-php
当我测试这个时,我得不到服务器。当我离开第二个-v
时它就可以了。但是如何更改apache2配置文件的目标呢?不再写它们。例如,我想在/my/config
中使用Docker apache的所有配置文件。
答案 0 :(得分:1)
第一个选项是基于原始图像创建自己的图像eboraas / apache-php(您应该创建自己的Dockerfile)并在Dockerfile中使用COPY。
FROM eboraas/apache-php
COPY /my/config /etc/apache2
工作原理:当您更改本地apache配置文件时,您应该在此之后重建映像并重新启动容器以应用更改。
第二个选项只是使用docker cp
并在本地apache配置文件中的每次更改后运行它:
docker cp /my/config eboraas:/etc/apache2/
如果在容器内更改配置文件,也可以复制配置文件:
docker cp eboraas:/etc/apache2/ /my/config
更多信息https://docs.docker.com/engine/reference/commandline/cp/。
顺便说一句。我建议你使用docker-compose,因为这个命令很长而且使用起来不舒服(https://docs.docker.com/compose/)。