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

2019-01-15 12:04:39 +08:00
 Livid

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/...

那么可以这样解决:

然后问题应该就解决了。

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

这方案的好处是重启不会出现无法挂载的情况( windows 磁盘映射在 docker 未启动前会提示找不到网络卷除外)
Navee
2019-01-16 10:13:45 +08:00
@ifane docker for windows 是运行在虚拟机中的,挂载是共享分区到虚拟机,按道理是可以共享某个目录,可能是 docker for windows 为了统一的路径转换,只能整个分区共享到虚拟机中。
artandlol
2019-01-18 04:41:50 +08:00
你把 user 挂载到 data 做什么用
Midnight
2019-01-18 09:28:56 +08:00
@fuxkcsdn docker for win 你是怎么用 smaba 的?
Midnight
2019-01-18 09:30:13 +08:00
fuxkcsdn
2019-01-23 22:22:44 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/527183

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX