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

docker-compose配置挂载卷时如何设置正确的相对路径?

Docker Compose 相对路径挂载问题解决方案

docker-compose 中以./开头的相对路径,默认是相对于docker-compose.yml文件所在的目录进行拼接的。你的docker-compose.yml存放在app/docker/路径下,因此./对应的根路径就是app/docker/,原配置的./resources/changelog自然会被解析为app/docker/resources/changelog。

你可以选择以下任意一种方案解决:

  • 方案1:修改挂载路径的相对层级,直接回退一级目录
    把volumes配置里的路径从./resources/changelog改为../resources/changelog即可,../代表向上回退一层目录,会从app/docker/回退到app/,再拼接后续路径刚好匹配你期望的app/resources/changelog。
    修改后的配置片段如下:
    liquibase:
      image: liquibase/liquibase
      volumes:
        - ../resources/changelog:/liquibase/changelog
      command: --changeLogFile=master.xml --url=jdbc:postgresql://postgres:5432/postgres?autoReconnect=true&useSSL=false --username=postgres --password=password update
      depends_on:
        - postgres
      networks:
        - my_network
    
  • 方案2:执行命令时指定项目根目录
    如果你不想修改docker-compose.yml的配置,也可以在执行docker-compose命令时指定--project-directory参数,手动设置相对路径的基准目录。
    比如在app/目录下执行如下命令:
    docker-compose -f docker/docker-compose.yml --project-directory . up
    此时配置里的./会以你执行命令的app/目录为基准,原有./resources/changelog的配置无需修改即可正常生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.08 16:15:01