Python 更改时重新启动docker中的flask应用程序
我正在使用flask脚本运行我的应用程序:Python 更改时重新启动docker中的flask应用程序,python,docker,flask,flask-script,Python,Docker,Flask,Flask Script,我正在使用flask脚本运行我的应用程序: if __name__ == "__main__": manager.run() 在docker中,我有以下内容: CMD [ "python", "manage.py", "runserver", "-h", "0.0.0.0", "-p", "5000"] 现在,当我构建并运行我的容器时,应用程序运行良好。但是,如果我对代码进行更改并保存,即使我的env设置了DEBUG=True变量,应用程序也不会重新启动。我是不是遗漏了什么 Dock
if __name__ == "__main__":
manager.run()
在docker中,我有以下内容:
CMD [ "python", "manage.py", "runserver", "-h", "0.0.0.0", "-p", "5000"]
现在,当我构建并运行我的容器时,应用程序运行良好。但是,如果我对代码进行更改并保存,即使我的env设置了DEBUG=True变量,应用程序也不会重新启动。我是不是遗漏了什么
Dockerfile:
FROM python:3.4-slim
RUN apt-get update -y && \
apt-get install -y \
python-pip \
python-dev \
pkg-config \
libpq-dev \
libfreetype6-dev
COPY ./requirements.txt /app/requirements.txt
WORKDIR /app
RUN pip3 install -r requirements.txt
COPY . /app
CMD [ "python", "manage.py", "runserver"]
指令
从中复制新文件或目录,并将其添加到路径处容器的文件系统中
这意味着映像具有与构建映像时相同的文件快照。当您从该映像启动容器时,它将在其文件系统中看到您的文件副本。修改原始文件不会对容器内的副本产生任何影响,应用程序不会看到这些更改,也不会重新启动
如果希望在容器内更改文件,可以。也来自文档 此命令将主机目录/src/webapp装载到位于/webapp的容器中。如果路径/webapp已经存在于容器的映像中,/src/webapp装载覆盖但不删除预先存在的内容。卸下装载后,即可再次访问内容 Docker run命令可能如下所示
docker run -d -v /absolute/path/to/src:/app <image-name>
docker run-d-v/absolute/path/to/src:/app
然后,您的文件更改应该反映在容器内的文件中(因为它们将是相同的文件),并且一切都应该按预期重新启动
你可能也对这篇文章感兴趣。它更进一步,使用Docker Compose来编排Flask开发环境。您是在容器内编辑文件还是在容器外编辑文件?在容器外编辑文件您介意包括Docker文件的其余部分吗?刚刚添加了Docker文件谢谢,这正是我需要的。