每次我在代码中犯了错误或其他什么,容器都会关闭,留给我shotel_backend exited with code 1
。如何预防
这是Dockerfile
FROM python:3
ENV PYTHONUNBUFFERED 1
RUN pip install pipenv
RUN mkdir /backend
WORKDIR /backend
ADD Pipfile Pipfile.lock /backend/
RUN pipenv install
ADD . /backend/
这里是docker作曲
version: '3'
services:
backend:
container_name: shotel_backend
build: ./backend
volumes:
- ./backend/:/backend
working_dir: /backend/
command: pipenv run python manage.py runserver 0.0.0.0:8000
ports:
- 8000:8000
每个docker容器实际上只运行一个主进程,即Dockerfile末尾的入口点和/或CMD
如果您希望重新启动所需的流程,而不必完全重新启动容器,那么您将必须使用类似supervisord的流程管理器
有关您所寻找的内容的更多信息和解决方法,请参见here
但是,我仍然建议您首先通过适当的异常处理来阻止进程退出
您所要做的就是在docker compose中使用此策略:
restart: always
但我建议您查找并修复代码中的错误
编辑:我忘了说这并不能阻止关闭容器,它所做的只是在出现错误时自动重新启动它
相关问题 更多 >
编程相关推荐