在Docker上自动重新加载Flask服务器

我希望我的flask服务器检测代码中的更改并自动重新加载。我正在docker容器上运行它。每当我更改某些内容时,都必须重新构建容器。我不知道哪里出了问题。这是我第一次使用flask。

这是我的树

├── docker-compose.yml

└── web

├── Dockerfile

├── app.py

├── crawler.py

└── requirements.txt

和代码(app.py)

from flask import Flask 

import requests

app = Flask(__name__)

@app.route('/')

def hello_world():

return 'Hello Flask!!'

if __name__ == '__main__':

app.run(debug = True, host = '0.0.0.0')

和docker-compose

version: '2'

services:

web:

build: ./web

ports:

- "5000:5000"

volumes:

- ./web:/code

请给我一些建议。先感谢您。

回答:

如已完成,在调试模式下,Flask支持代码重新加载。问题在于该应用程序正在容器上运行,这使它与正在开发的真实源代码隔离。无论如何,你可以docker-compose.yaml像这样通过卷在正在运行的容器和主机之间共享源:

这里是 docker-compose.yaml

version: "3"

services:

web:

build: ./web

ports: ['5000:5000']

volumes: ['./web:/app']

在这里Dockerfile

FROM python:alpine

EXPOSE 5000

WORKDIR app

COPY * /app/

RUN pip install -r requirements.txt

CMD python app.py

以上是 在Docker上自动重新加载Flask服务器 的全部内容, 来源链接: utcz.com/qa/411424.html

回到顶部