gpt4 book ai didi

amazon-web-services - 当我尝试运行 Docker 文件时抛出错误 "AH00111: Config variable ${APACHE_RUN_DIR} is not defined"

转载 作者:行者123 更新时间:2023-12-05 06:07:02 26 4
gpt4 key购买 nike

我正在尝试使用 Docker。

我正在尝试将 apche2 安装到 ubuntu 镜像中。

FROM ubuntu

RUN echo "welcome to yellow pages"
RUN apt-get update
RUN apt-get install -y tzdata
RUN apt-get install -y apache2

ENV APACHE_RUN_USER www-data
ENV APACHE_RUN_GROUP www-data
ENV APACHE_LOG_DIR /var/log/apache2

RUN echo 'Hello, docker' > /var/www/index.html

ENTRYPOINT ["/usr/sbin/apache2"]
CMD ["-D", "FOREGROUND"]

网上找了个引用reference

我添加了“RUN apt-get install -y tzdata”这一行,因为它要求选择 tzdata 并停止创建图像。

现在,当我运行我的图像时,出现以下错误

[Thu Jan 07 09:43:57.213998 2021] [core:warn] [pid 1] AH00111: Config variable ${APACHE_RUN_DIR} is not defined
apache2: Syntax error on line 80 of /etc/apache2/apache2.conf: DefaultRuntimeDir must be a valid directory, absolute or relative to ServerRoot

我是 docker 的新手,理解它对我来说有点困难。

谁能帮我解决这个问题?

最佳答案

这似乎是 Apache 问题,而不是 docker 问题。您的 session 似乎有错误。您有一个名为 DefaultRuntimeDir 的参数,它指向 docker 中不存在的广告目录。检查您的配置文件并确保您在其中指定的目录存在于 docker 中。

您可以通过以下方式在 docker 中运行:

docker build -t my_image_name .
docker run -it --rm --entrypoint /bin/bash my_image_name
# now you are in your docker container, you can check if your directories exist

在不知道你的配置的情况下,我会简单地添加一个 RUN(我制定了这条路径,你可以将其更改为任何你喜欢的)

ENV APACHE_RUN_DIR /var/lib/apache/runtime
RUN mkdir -p ${APACHE_RUN_DIR}

作为旁注,我也会像这样将所有 RUN 合并为一个:

RUN echo "welcome to yellow pages" \
&& apt-get update \
&& apt-get install -y tzdata apache2 \
&& rm -rf /var/lib/apt/lists/* \
&& mkdir -p /var/www \
&& echo 'Hello, docker' > /var/www/index.html

关于amazon-web-services - 当我尝试运行 Docker 文件时抛出错误 "AH00111: Config variable ${APACHE_RUN_DIR} is not defined",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65610053/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com