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-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. 电脑重启后:跟第一步一样。。。。。。。 |
2
jwangkun 2019-01-15 14:59:37 +08:00
什么时候换回 windows 了?
|
3
ifane 2019-01-15 16:33:02 +08:00
docker for win 只能挂载整个分区
|
4
fuxkcsdn 2019-01-15 17:03:32 +08:00
我是创建了一个 docker volumn 专门用来存放数据
然后再用 smaba 将这个 volumn 共享出来 最后在 windows 上用磁盘映射 这方案的好处是重启不会出现无法挂载的情况( windows 磁盘映射在 docker 未启动前会提示找不到网络卷除外) |
5
Navee 2019-01-16 10:13:45 +08:00
@ifane docker for windows 是运行在虚拟机中的,挂载是共享分区到虚拟机,按道理是可以共享某个目录,可能是 docker for windows 为了统一的路径转换,只能整个分区共享到虚拟机中。
|
6
artandlol 2019-01-18 04:41:50 +08:00 via iPhone
你把 user 挂载到 data 做什么用
|
8
Midnight 2019-01-18 09:30:13 +08:00
|
9
fuxkcsdn 2019-01-23 22:22:44 +08:00
|