【问题标题】:How to access httpd.conf in Docker from a php image that included apache by itself?如何从包含 apache 的 php 映像访问 Docker 中的 httpd.conf?
【发布时间】:2020-01-27 16:42:57
【问题描述】:

问题

当我从 httpd 映像运行容器时,我能够找到 httpd.conf,但运行时找不到该文件来自包含 apache 的 PHP 映像的容器,例如映像 php:7.4.2-apache-buster

php镜像是这样运行的,$(pwd)也指向了proyect目录

docker container run -d -p 80:80 \
--name containerName \
-v $(pwd):/var/www/html \
php:7.4.2-apache-buster

试过

我在普通的httpd映像中使用了docker container exec -it normalApache bash,我可以在/usr/local/apache2中找到httpd.conf文件/conf

但是当我尝试在 php 映像中包含的 apache 中执行完全相同的操作时,我找不到该文件,因为 /usr/local 中的目录 apache2 strong> 甚至不退出

【问题讨论】:

    标签: php apache docker httpconfiguration


    【解决方案1】:

    无论您在寻找什么,该容器的 Dockerfile 都可以在 https://github.com/docker-library/php/blob/703a3d0a4e4c149bfd62fc3e7b71645f9496b178/7.4/buster/apache/Dockerfile 找到,在第 52 行它使用 /etc/apache2 作为配置目录

    51 ##<autogenerated>##
    52 ENV APACHE_CONFDIR /etc/apache2
    53 ENV APACHE_ENVVARS $APACHE_CONFDIR/envvars
    

    【讨论】:

    • 你打败了我 :)
    • @NicoHaase 我添加了一行来启用 mod_rewrite,但现在容器甚至没有启动,因此我无法访问 bash 来删除该行
    • 然后删除该行并启动它。
    • “甚至没有开始”听起来很奇怪。有没有给出任何错误信息?如果是,请为它打开一个新问题:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多