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

如何避免docker-compose.yml中多个volume被自动追加当前目录名前缀

解决方案

Docker Compose默认会将当前目录作为项目名,自动添加到所有命名资源(包括volume、网络等)的前缀,要固定volume的最终名称,只需要在顶层volumes字段中为每个volume显式指定name属性即可,支持多volume同时配置,无需额外操作。
注意:该配置需要使用3.4及以上版本的Compose文件格式,因此需要先修改版本号声明。

修改后的完整配置如下:

version: '3.4'
services:
    db:
       container_name: db
       environment:
           POSTGRES_DB=new_db_name
       volumes:
           - pgdata:/var/lib/postgresql/data
    app:
       container_name: app
       depends_on:
           - db
       volumes:
           - appdata:/app/data
volumes:
    pgdata:
        name: pgdata # 显式指定最终volume名称,不会追加项目前缀
    appdata:
        name: appdata # 多个volume分别指定即可

验证方法:

  • 配置修改完成后执行docker-compose up -d启动服务
  • 启动完成后执行docker volume ls,即可看到生成的volume名称为指定的pgdata和appdata,无项目前缀
  • 后续容器重建、重启都会自动复用这两个volume,数据不会丢失

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 17:57:05