You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker Bind Mount不同步问题求助:Django与Nginx文件共享异常

问题排查:Docker Bind Mount 数据不同步与容器重启异常

系统架构与配置

我正在构建一套系统:文件通过Django上传,Nginx提供静态文件服务,使用Docker Compose部署,通过bind mount实现容器与主机的数据共享,相关配置如下:

django:
  volumes:
    - ./uploads:/app/uploads:rw

nginx:
  volumes:
    - ./uploads:/app/uploads:ro

异常现象

刚完成上传时一切正常:上传的文件会同步到主机、Django容器和Nginx容器,Nginx能正常提供服务。但一段时间后Nginx开始返回404,手动检查发现主机源目录与容器内目录数据不同步:

主机目录内容(正确):

user@host:/home/user/site/uploads$ ls -la
total 13068
drwxr-xr-x  2 root   root       4096 Jan 23 19:52 .
drwxr-xr-x 10 user user     4096 Jan 23 10:33 ..
-rw-r--r--  1 root   root   12527329 Jan 23 01:49 YbqY7GeoNiK.MP4
-rw-r--r--  1 root   root     748081 Jan 23 10:42 dP4va0IpGzM.gif
-rw-r--r--  1 root   root      90296 Jan 23 10:52 lKsDoxhDpWE.jpg

Nginx容器内目录内容(新旧文件混合):

user@host:/home/user/site$ docker compose exec nginx sh
# cd /app/uploads/
# ls -la
total 34372
drwxr-xr-x    2 root     root          4096 Jan 23 02:17 .
drwxr-xr-x    4 root     root          4096 Jan 24 02:01 ..
-rw-r--r--    1 root     root        111086 Jan 23 00:27 C4RUNvZTWAZ.jpg
-rw-r--r--    1 root     root          9652 Jan 20 12:39 JMMMFzFMzr4.png
-rw-r--r--    1 root     root       7434720 Jan 23 02:17 YLrOkzve1ck.exe
-rw-r--r--    1 root     root      13810152 Jan 22 15:31 YbqY7GeoNiK.MP4
-rw-r--r--    1 root     root      13810152 Jan 22 15:31 y4qQWUgPTpv.MOV

Django容器内目录内容(与Nginx容器一致,异常):

user@host:/home/user/site$ docker compose exec django sh
# cd /app/uploads
# ls -la
total 34372
drwxr-xr-x 2 root root     4096 Jan 23 02:17 .
drwxr-xr-x 1 root root     4096 Jan 24 02:01 ..
-rw-r--r-- 1 root root   111086 Jan 23 00:27 C4RUNvZTWAZ.jpg
-rw-r--r-- 1 root root     9652 Jan 20 12:39 JMMMFzFMzr4.png
-rw-r--r-- 1 root root  7434720 Jan 23 02:17 YLrOkzve1ck.exe
-rw-r--r-- 1 root root 13810152 Jan 22 15:31 YbqY7GeoNiK.MP4
-rw-r--r-- 1 root root 13810152 Jan 22 15:31 y4qQWUgPTpv.MOV

容器重启线索

通过docker ps发现容器运行时长低于预期,推测是通过restart: unless-stopped策略崩溃重启:

user@host:/home/user/site$ docker ps
CONTAINER ID   IMAGE                  CREATED        STATUS
8796a4afcda6   site-nginx             9 hours ago    Up 9 hours
7fb35c827d01   site-django            9 hours ago    Up 9 hours
b8044f3c3c0f   site-cron              24 hours ago   Up 24 hours
0ba613d35ec3   postgres:15.1-alpine   25 hours ago   Up 25 hours

25小时前是最后一次执行docker compose up --build --detach的时间,9小时前大概率是问题出现的时间。按常理容器重启不应导致volume异常,但目前找不到其他线索。

求助问题

  • 该如何排查此问题?
  • 可能的原因是什么?
  • 使用廉价HDD VPS是否会影响?

内容的提问来源于stack exchange,提问作者Enirsa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 07:15:32