如何在Docker的httpd:2.4容器中修改Apache2默认目录?
解决Apache容器使用自有目录的两种方法
方法一:修改Apache默认网站根目录
- 先导出容器里的默认Apache配置文件(假设容器已运行):
docker cp 容器ID:/usr/local/apache2/conf/httpd.conf ./httpd.conf
- 打开导出的
httpd.conf,找到DocumentRoot "/usr/local/apache2/htdocs",把路径改成你想要的容器内路径,比如/var/www/html - 找到对应的
<Directory "/usr/local/apache2/htdocs">块,将块内的路径也改为/var/www/html - 启动容器时,同时挂载你的本地目录和修改后的配置文件:
docker run -d -p 80:80 \ -v /你本地的/var/www/html:/var/www/html \ -v ./httpd.conf:/usr/local/apache2/conf/httpd.conf \ httpd:2.4
方法二:无需修改配置的快速方案
httpd:2.4镜像默认的网站根目录是/usr/local/apache2/htdocs,你可以直接通过两种方式让Apache使用你的目录:
- 本地目录挂载到默认路径(推荐,本地修改会实时同步到容器):
docker run -d -p 80:80 \ -v /你本地的/var/www/html:/usr/local/apache2/htdocs \ httpd:2.4
启动后容器会直接加载你本地目录的内容,替换默认的"It Works!"页面。
- 复制目录到容器默认路径(适合临时测试,本地修改不会同步到容器):
先查看运行中容器的ID:docker ps
然后执行复制命令:
docker cp /你本地的/var/www/html/. 容器ID:/usr/local/apache2/htdocs/
注意末尾的. ,它会把本地目录里的所有文件直接复制到容器的目标目录,避免出现嵌套的html/html结构。
内容的提问来源于stack exchange,提问作者agctute
相关产品推荐
相关产品推荐

