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

使用docker-compose时无法查看docker volume内存储数据的问题咨询

问题原因

存在两个核心配置错误:

  • 挂载路径不匹配:你的代码向容器内/usr/src/app/logs目录写入文件,但docker-compose中配置的挂载目标是容器内的/logs目录,二者为完全独立的路径,写入的文件只会存在容器的可写层,不会同步到挂载卷中。
  • 命名卷未被正确引用:你当前写的- /logs:/logs/:rw属于绑定挂载,作用是将宿主机根目录下的/logs文件夹映射到容器内,和你顶层声明的名为logs的命名卷没有关联,因此文件不会出现在/var/lib/docker/volumes路径下,此时写入的文件实际存放在宿主机的/logs目录中。

修复方案

修改docker-compose.yml中my-service服务的volumes配置:

# 替换原有volumes配置
volumes:
   - logs:/usr/src/app/logs:rw

修改说明:

  • 冒号左侧写logs,代表引用你顶层声明的命名卷,Docker会自动将该卷的存储路径指向/var/lib/docker/volumes/logs/_data
  • 冒号中间的路径改为代码实际写入的容器内路径/usr/src/app/logs,确保写入操作可以同步到挂载卷中
  • 你已在Dockerfile中完成了目标目录的权限配置,服务运行用户也为appuser,无需额外调整权限即可正常写入。

修改完成后执行以下命令重启服务即可生效:
docker-compose up -d --build

验证方法

服务启动完成后,进入宿主机/var/lib/docker/volumes/logs/_data路径,即可查看到容器内生成的helloworld.txt文件。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 00:24:02