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/...
那么可以这样解决:
然后问题应该就解决了。

1
Midnight 2019 年 1 月 15 日
我目前的状况是,开机后 docker 启动了,访问 PHPmyadmin,只能看到 mysql 自带的数据库,映射的磁盘卷没有被加载。
1. 重启 docker for Windows:有一定程度造成磁盘卷映射丢失,接着 reset credentials,重新执行 docker compose down --rmi local、docker compose up -d,可以跑起来, 2. 电脑重启后:跟第一步一样。。。。。。。 |
2
jwangkun 2019 年 1 月 15 日
什么时候换回 windows 了?
|
3
ifane 2019 年 1 月 15 日
docker for win 只能挂载整个分区
|
4
fuxkcsdn 2019 年 1 月 15 日
我是创建了一个 docker volumn 专门用来存放数据
然后再用 smaba 将这个 volumn 共享出来 最后在 windows 上用磁盘映射 这方案的好处是重启不会出现无法挂载的情况( windows 磁盘映射在 docker 未启动前会提示找不到网络卷除外) |
5
Navee 2019 年 1 月 16 日
@ifane docker for windows 是运行在虚拟机中的,挂载是共享分区到虚拟机,按道理是可以共享某个目录,可能是 docker for windows 为了统一的路径转换,只能整个分区共享到虚拟机中。
|
6
artandlol 2019 年 1 月 18 日 via iPhone
你把 user 挂载到 data 做什么用
|
8
Midnight 2019 年 1 月 18 日
|
9
fuxkcsdn 2019 年 1 月 23 日
|