当我编写dockercompose时,Djangoapache2退出,代码为0

2024-05-13 13:50:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我创建了Dockerfile和docker compose,但在编写docker-compose up时,django-apache2出现错误,代码为0

Dockerfile文件

FROM ubuntu:18.04
RUN apt-get -y update && apt-get -y upgrade
RUN apt-get -y install python3.8
RUN apt-get -y install python3-pip
RUN apt -y install apache2
RUN apt-get install -y apt-utils vim curl apache2 apache2-utils
RUN apt-get -y install python3 libapache2-mod-wsgi-py3
RUN pip3 install --upgrade pip
COPY ./requirements.txt ./requirements.txt
RUN  apt-get -y install python3-dev
RUN apt-get -y install python-dev default-libmysqlclient-dev
RUN pip3 install -r ./requirements.txt
COPY ./apache.conf /etc/apache2/sites-available/000-default.conf
RUN mkdir /var/www/api/
COPY ./project/. /var/www/api/
WORKDIR /project/

码头工人

version: "3"
services:
 django-apache2:
  container_name: "django-apache2"
  build: .
  ports:
   - "8005:80"

Tags: installdjangocomposedockerrundevdockerfiletxt
2条回答

首先,我们需要了解Docker容器只运行一个命令。只要该命令启动的进程正在运行,容器就会一直运行。一旦进程完成并退出,容器将停止。你知道吗

有了这种理解,我们就可以对你的情况做出假设。启动服务时没有命令。此时,Docker容器将停止,因为进程已退出(状态为0)。你知道吗

所以您需要添加在docker上持续运行的命令。你知道吗

有关详细信息,请查看此链接Here。你知道吗

你的容器里没有东西可以跑。您需要向Dockerfile中添加CMDENTRYPOINT指令。你知道吗

这就是为什么你会看到这样的信息,这不是一个错误。消息告诉您容器django-apache2已正确完成(退出状态0),这是因为您正在运行基本映像ubuntu,该映像不执行任何操作。你知道吗

相关问题 更多 >