我希望我的flask服务器检测代码中的更改并自动重新加载。我在docker容器上运行它。每当我更改某些内容时,都必须重新构建容器。我不知道哪里出了问题。这是我第一次使用烧瓶。
这是我的树
├── 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
这里是 docker-compose.yaml
docker-compose.yaml
version: "3" services: web: build: ./web ports: ['5000:5000'] volumes: ['./web:/app']
在这里Dockerfile:
Dockerfile
FROM python:alpine EXPOSE 5000 WORKDIR app COPY * /app/ RUN pip install -r requirements.txt CMD python app.py