Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 更改时重新启动docker中的flask应用程序_Python_Docker_Flask_Flask Script - Fatal编程技术网

Python 更改时重新启动docker中的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

我正在使用flask脚本运行我的应用程序:

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文件谢谢,这正是我需要的。