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

docker-compose.yml定义的volume挂载后容器内目录为空是什么原因

目录无法同步的核心原因

你当前使用的是Docker 命名卷(Named Volume) 挂载逻辑,而非本地目录绑定挂载,两者的存储逻辑完全独立,因此不会同步你本地自建的文件夹内容:

  • 你在docker-compose.yml的顶层volumes字段中声明了db_import: {},这代表你创建了一个由Docker系统统一管理的命名卷,它的实际存储位置在Docker专属的系统存储目录下(Linux默认路径为/var/lib/docker/volumes/db_import/_data),和你在项目目录下自行创建的db_import文件夹没有任何关联。
  • 命名卷首次挂载到容器路径时,仅会自动同步容器内对应路径的原有内容到卷中,不会读取本地目录的内容。

修复方案

如果需要映射本地项目同级目录下的db_import文件夹到容器内的/import路径,修改docker-compose.yml的两处配置即可:

  1. 修改db服务的volumes配置,将命名卷挂载改为绑定挂载:
    把原有配置
    - db_import:/import
    
    替换为
    - ./db_import:/import
    
  2. 删除顶层volumes字段中的db_import: {}声明,绑定挂载不需要提前声明命名卷。

修改完成后执行docker-compose up -d重启服务,即可实现本地目录和容器内目录的内容同步。

内容的提问来源于stack exchange,提问作者Mayor of the Plattenbaus

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 08:54:09