更新时间:2022-03-28 22:49:40
问题在这里:CMD service apache2 start
执行此命令时,进程apache2
将与外壳分离.但是Docker仅在主进程处于活动状态时才能工作.
The issue is here: CMD service apache2 start
When you execute this command process apache2
will be detached from the shell. But Docker works only while main process is alive.
解决方案是在前景中运行Apache. Dockerfile
必须看起来像这样:(仅更改了最后一行).
The solution is to run Apache in the foreground. Dockerfile
must look like this: (only last line changed).
FROM ubuntu
# File Author / Maintainer
MAINTAINER rmuktader
# Update the repository sources list
RUN apt-get update
# Install and run apache
RUN apt-get install -y apache2 && apt-get clean
#ENTRYPOINT ["/usr/sbin/apache2", "-k", "start"]
#ENV APACHE_RUN_USER www-data
#ENV APACHE_RUN_GROUP www-data
#ENV APACHE_LOG_DIR /var/log/apache2
EXPOSE 80
CMD apachectl -D FOREGROUND