对于烧瓶应用程序,我使用主机和容器之间的体积。我的docker compose的web部件如下所示:
web:
restart: on-failure
container_name: web
build:
context: "."
dockerfile: "docker/Dockerfile.web"
ports:
- 5000:5000
volumes:
- database:/var/run/postgresql
- .:/usr/src/app
volumes:
database:
这是我的Dockerfile:
FROM python
WORKDIR /usr/src/app
COPY . .
RUN pip install --no-cache-dir -r requirements.txt
CMD ["python", "./sources/app.py"]
我认为我的卷创建得很好,因为当我从主机在app.py
中创建和更新时,容器中的app.py
也会更新但问题是,当我从浏览器重新加载页面时,内容尚未更新
当我做docker volume list
时,我得到了这个:
DRIVER VOLUME NAME
local b26d14737c65ba4d26c3751ae898883e9062c4894a5fd31b191ffd9ded7f1d50
local web-app_database
什么是b26d14卷?我认为这不是用docker compose创建的。运行docker volume inspect
后返回:
[
{
"CreatedAt": "2020-03-21T10:41:19Z",
"Driver": "local",
"Labels": null,
"Mountpoint": "/var/lib/docker/volumes/b26d14737c65ba4d26c3751ae898883e9062c4894a5fd31b191ffd9ded7f1d50/_data",
"Name": "b26d14737c65ba4d26c3751ae898883e9062c4894a5fd31b191ffd9ded7f1d50",
"Options": null,
"Scope": "local"
}
]
我必须让它工作的唯一方法是重新启动容器
我发现这篇文章:link但它并没有解决我的问题
Docker版本:
-Docker版本19.03.8,内置afacb8b
-docker compose版本1.25.4,内部版本8d51620a
有什么想法吗
谢谢你的回复,祝你度过愉快的一天
通过评论,我们得出结论,问题在于Flask如何处理实时/热重新加载,与Docker无关
Flask提供了^{} 环境变量,可用于启用开发功能,如调试器和自动重新加载程序。要启用开发功能,需要将其值设置为
development
Docker还提供了一种使用^{} 关键字设置环境变量的简洁方法。您只需在Dockerfile中添加以下行:
相关问题 更多 >
编程相关推荐