docker - docker-compose 卷未同步
问题描述
问题
我使用 docker-compose 进行 Python/Flask 开发。我希望我的主机代码库与 docker 容器内的一个同步,但不...
情况
我的工作目录结构如下:
.
├── Dockerfile
├── docker-compose.yml
├── app.py
└── requirements.txt
我从主机的当前目录绑定挂载到容器的/app
.
Dockerfile:
FROM python:3.7.3-alpine3.9
WORKDIR /app
COPY requirements.txt requirements.txt
RUN pip install --upgrade pip && \
pip install -r requirements.txt
COPY . .
CMD gunicorn -b 0.0.0.0:9000 -w 4 app:app
码头工人-compose.yml:
version: '3'
services:
web:
build: .
ports:
- "4649:9000"
volumes:
- .:/app
当我访问时,http://localhost:4649
我可以看到正确的响应,因此 Docker 容器运行良好。但是,当我更改时,响应不会更新app.py
。
我检查了容器,结果如下
"Mounts": [
{
"Type": "bind",
"Source": "/Users/emp-mac-zakiooo/dev/jinja-pwa",
"Destination": "/app",
"Mode": "rw",
"RW": true,
"Propagation": "rprivate"
}
],
它看起来很正确,所以我不知道这个问题
解决方案
天哪,我发现我的文件已正确同步,但 gunicorn 将它们缓存起来,因此添加--reload
到CMD
in 中Dockerfile
,最后修复了。感谢您的帮助,并为我的愚蠢感到抱歉……!
推荐阅读
- list - Tcl:如何在 Tcl 8.4 中搜索嵌套列表?
- c# - 使用数组设置/获取类的字段:比反射更快的方法?
- ruby-on-rails - 为什么不能直接更新 Active Record 查找的结果?
- angular-material - 检查其他任何一个时如何禁用复选框角度7
- ios - 如何在后台全局队列中运行一堆任务
- python - 无法分配主机名:在 django 中出现 getaddrinfo 错误
- java - 迭代器不会从列表中删除特定项目
- python - 使用多项式划分两组点
- python - GROUP BY 的 Python 和 PostgreSQL 问题
- unity3d - Unity 为什么我不能在不同的对象上应用相同的纹理