use*_*342 1 python flask docker flask-script
我正在使用flask-script运行我的应用程序:
if __name__ == "__main__":
manager.run()
Run Code Online (Sandbox Code Playgroud)
在泊坞窗中,我有以下内容:
CMD [ "python", "manage.py", "runserver", "-h", "0.0.0.0", "-p", "5000"]
Run Code Online (Sandbox Code Playgroud)
现在,当我构建并运行容器时,应用程序运行良好。但是,即使我的环境设置了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"]
Run Code Online (Sandbox Code Playgroud)
该COPY指令
从<src>复制新文件或目录,并将它们添加到容器的文件系统中,路径为<dest>。
这意味着映像具有创建映像时文件的快照。当从该映像启动容器时,它将在其文件系统中看到文件的副本。修改原始文件不会对容器内的副本产生任何影响,该应用不会看到这些更改,也不会重新启动。
如果要在容器内更改文件,可以将主机目录作为卷挂载。也是从文档
此命令将主机目录/ src / webapp安装到/ webapp的容器中。如果路径/ webapp在容器的映像内已经存在,则/ src / webapp挂载会覆盖,但不会删除先前存在的内容。除去挂载后,即可再次访问内容。
Docker run命令可能看起来像这样
docker run -d -v /absolute/path/to/src:/app <image-name>
Run Code Online (Sandbox Code Playgroud)
然后,您的文件更改应反映在容器内的文件中(因为它们将是相同的文件),并且所有内容均应按预期重新启动。
您可能也对本文感兴趣,可在Docker Compose上使用Dockerize Flask,Celery和Redis应用程序。它进一步迈出了一步,并使用Docker Compose来协调Flask开发环境。
| 归档时间: |
|
| 查看次数: |
3491 次 |
| 最近记录: |