我想创建一个python Django容器。我有一个Dockerfile
如下所示-
FROM python:3.7-slim
ENV PYTHONUNBUFFERED 1
RUN apt-get update
RUN apt-get install python3-dev default-libmysqlclient-dev gcc -y
COPY ./requirements.txt /requirements.txt
RUN pip install -r /requirements.txt
RUN mkdir /eitan_app
WORKDIR /eitan_app
COPY . /eitan_app
EXPOSE 8000
RUN python3 manage.py makemigrations
RUN python3 manage.py migrate
CMD ["python3", "manage.py", "runserver", "0.0.0.0:8000"]
我使用下面提到的命令创建了图像-
docker build -t gcr.io/eitan-269907/eitan-app:v1 .
上面的命令成功创建了映像。现在,我想创建图像的运行容器,因此运行命令-
docker run --rm -p 8000:8000 gcr.io/eitan-269907/eitan-app:v1
上面的命令退出,没有任何错误代码。所以我运行命令docker ps -a
来检查容器的状态。
容器未运行。因此,我尝试使用命令检查日志,docker logs -f <container id>
但命令未返回任何内容。
我不了解我的配置出了什么问题。我一直在寻找解决方案,却一无所获。
这可能是由于运行时出错makemigration
或其他脚本引起的,在这种情况下,我尝试将Entrypoint用作'/ dev / null',以使容器不会退出,
这使您有机会登录到容器并手动执行以检查核心问题
对于你的情况会建议
FROM python:3.7-slim
ENV PYTHONUNBUFFERED 1
RUN apt-get update
RUN apt-get install python3-dev default-libmysqlclient-dev gcc -y
COPY ./requirements.txt /requirements.txt
RUN pip install -r /requirements.txt
RUN mkdir /eitan_app
WORKDIR /eitan_app
COPY . /eitan_app
ENTRYPOINT ["tail", "-f", "/dev/null"]
构建此映像并执行相同的映像后,它将保持容器运行
然后docker exec -it <container_name> bash
,您可以使用它来登录到容器并执行其余命令,看看是否出了一些错误
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句