首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Docker

解决 Docker for Windows 在挂载磁盘卷时遇到的问题

  •  
  •   Livid · 221 天前 · 3961 次点击
    这是一个创建于 221 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Docker for Windows 时不时就会遇到这样一些需要去搜索才能解决的问题,今天又遇到一个,在这里记录一下解决方案。

    如果 docker-compose.yml 配置里有挂载卷的配置,但是服务启动失败,那么如果执行下面这句就可以看到错误原因:

    docker inspect TASK_ID
    

    TASK_ID 可以通过 docker service ps 看到。

    如果遇到的是下面这个错误:

    invalid mount config for type "bind": bind source path does not exist: /host_mnt/c/...
    

    那么可以这样解决:

    • 打开 Docker for Windows 的 Settings
    • 打开 Shared Drives 设置,然后点击下面的 Reset credentials

    然后问题应该就解决了。

    9 回复  |  直到 2019-01-23 22:22:44 +08:00
        1
    Midnight   221 天前
    我目前的状况是,开机后 docker 启动了,访问 PHPmyadmin,只能看到 mysql 自带的数据库,映射的磁盘卷没有被加载。
    1. 重启 docker for Windows:有一定程度造成磁盘卷映射丢失,接着 reset credentials,重新执行 docker compose down --rmi local、docker compose up -d,可以跑起来,
    2. 电脑重启后:跟第一步一样。。。。。。。
        2
    jwangkun   221 天前
    什么时候换回 windows 了?
        3
    ifane   221 天前
    docker for win 只能挂载整个分区
        4
    fuxkcsdn   221 天前
    我是创建了一个 docker volumn 专门用来存放数据
    然后再用 smaba 将这个 volumn 共享出来
    最后在 windows 上用磁盘映射

    这方案的好处是重启不会出现无法挂载的情况( windows 磁盘映射在 docker 未启动前会提示找不到网络卷除外)
        5
    Navee   221 天前
    @ifane docker for windows 是运行在虚拟机中的,挂载是共享分区到虚拟机,按道理是可以共享某个目录,可能是 docker for windows 为了统一的路径转换,只能整个分区共享到虚拟机中。
        6
    artandlol   219 天前 via iPhone
    你把 user 挂载到 data 做什么用
        7
    Midnight   219 天前
    @fuxkcsdn docker for win 你是怎么用 smaba 的?
        8
    Midnight   219 天前
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2083 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 21ms · UTC 02:50 · PVG 10:50 · LAX 19:50 · JFK 22:50
    ♥ Do have faith in what you're doing.