gpt4 book ai didi

apache - 在 Docker 容器上启动 Apache

转载 作者:行者123 更新时间:2023-12-02 18:15:19 24 4
gpt4 key购买 nike

我正在使用 Docker 来使用 Apache 和 PHP 构建镜像,但是 Apache 的自动启动存在问题。这是 Dockerfile:

FROM ubuntu:16.04

RUN apt-get update

# Apache
RUN apt-get -y install apache2

# Apache config
RUN echo "ServerName localhost" >> /etc/apache2/apache2.conf
RUN apache2ctl configtest
RUN a2dissite 000-default
COPY otpuskatame_backend.conf /etc/apache2/sites-available
RUN a2ensite otpuskatame_backend
RUN a2dissite 000-default
RUN rm /etc/apache2/sites-available/000-default.conf

# PHP
RUN apt-get -y install php libapache2-mod-php php-mcrypt

# Load container
CMD service apache2 start

EXPOSE 80

图像已成功构建,但在使用以下命令运行时它会中断:
sudo docker run -d -v /var/www/project/:/var/www:rw -p 80:80 --name=lamp1 lamp1

地位:
CONTAINER ID        IMAGE                   COMMAND                  CREATED             STATUS                     PORTS                  NAMES
1a3679275b1d lamp1 "/bin/sh -c 'servi..." 8 seconds ago Exited (0) 6 seconds ago lamp1

日志看起来不错:
 * Starting Apache httpd web server apache2

如果我从 Dockerfile 中删除 CMD 行,然后登录到容器并运行 service apache2 start 手动一切正常。但是如何自动启动呢?

最佳答案

这是由于 docker 中的主要服务被杀死,并且因为这个 docker 正在退出。您需要在前台运行服务

尝试将其添加到 Dockerfile 并重建它

CMD /usr/sbin/apache2ctl -D FOREGROUND

有关更多详细信息,请参阅以下网站:

https://writing.pupius.co.uk/apache-and-php-on-docker-44faef716150

关于apache - 在 Docker 容器上启动 Apache,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47976773/

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