我希望我的烧瓶服务器检测代码中的更改并自动重新加载.
我在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
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