V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
IurNusRay
0.54D
V2EX  ›  程序员

关于 Docker 目录挂载

  •  
  •   IurNusRay · 2021 年 5 月 11 日 · 2426 次点击
    这是一个创建于 1728 天前的主题,其中的信息可能已经有所发展或是发生改变。
    如果项目需要在不同环境下部署,那么宿主机的项目文件路径也可能不同,用绝对路径的方式就不行了,但是相对路径貌似会在 /var/lib/docker/volumes 下面创建文件夹,是否可以将 docker-compose.yaml 所在的文件夹挂载到容器内呢?比如-v .:/project
    13 条回复    2021-05-11 12:54:05 +08:00
    qwerthhusn
        1
    qwerthhusn  
       2021 年 5 月 11 日
    > 但是相对路径貌似会在 /var/lib/docker/volumes 下面创建文件夹
    这个不是相对路径,而是 docker 管理的 volume


    要想相对路径,就用./xxx:/xxx
    IurNusRay
        2
    IurNusRay  
    OP
       2021 年 5 月 11 日
    @qwerthhusn 我试过了,提示是不行的:If you intended to pass a host directory, use absolute path
    albertni
        3
    albertni  
       2021 年 5 月 11 日
    建议不同机器用不同的 env 文件
    anthoy
        4
    anthoy  
       2021 年 5 月 11 日
    @IurNusRay 你是使用 docker run 的吧,-v 好像是不能使用相对路径,可以配置在 docker-compose.yml ,volumes:是支持相对路径的,docker-compose up
    qwerthhusn
        5
    qwerthhusn  
       2021 年 5 月 11 日
    我记得好像可以吧,难道是 docker-compose 或者 docker 版本不同?
    不行的话用 env 文件,把相对路径的前半部分放到 env 里面,然后 yaml 里面引用一下就行了,即使环境变动改动也只需要改动一份 env 文件就行了
    noqwerty
        6
    noqwerty  
       2021 年 5 月 11 日
    docker-compose 可以用 ${PWD}/project:/project
    saytesnake
        7
    saytesnake  
       2021 年 5 月 11 日
    /var/lib/docker/volumes 不是所谓的相对路径,是默认路径吧?

    挂载的时候仅填写名称不带路径斜杠即是在那个目录里,如 project-a:/project
    stille
        8
    stille  
       2021 年 5 月 11 日 via iPhone
    docker compose
    volumes:
    - ./abc:/xxx/xxx

    你的数据就在 compose 目录下的 abc 中
    stille
        9
    stille  
       2021 年 5 月 11 日
    根据容器不同,有时你得先创建 abc ,在 docker-compose up -d 启动..
    IurNusRay
        10
    IurNusRay  
    OP
       2021 年 5 月 11 日
    @anthoy 是的,run 的确是不行,刚刚试了 docker-compose 可以,谢谢啦
    IurNusRay
        11
    IurNusRay  
    OP
       2021 年 5 月 11 日
    @qwerthhusn docker-compose 是可以的哈哈,我之前用的是 docker run
    IurNusRay
        12
    IurNusRay  
    OP
       2021 年 5 月 11 日
    @saytesnake 恩,是这样的,刚刚试了一下,在 compose 文件里面可以直接用".:/project"这样的语法
    IurNusRay
        13
    IurNusRay  
    OP
       2021 年 5 月 11 日
    @stille 谢谢大佬
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   4744 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 40ms · UTC 08:22 · PVG 16:22 · LAX 00:22 · JFK 03:22
    ♥ Do have faith in what you're doing.