Docker compose装载空卷 预期行为
Docker compose装载空卷 预期行为,docker,docker-compose,virtualbox,windows-7-x64,boot2docker,Docker,Docker Compose,Virtualbox,Windows 7 X64,Boot2docker,docker compose up-d应正确装载卷 实际行为 突然之间(两天前它工作得很好,没有安装任何东西,也没有更新操作系统),卷不再被装载。没有看到任何错误消息,只有容器日志抱怨命令找不到文件(因为“空”卷覆盖了容器复制的文件) 如果我删除/service:/home/node/api卷,docker就会使用容器中的文件,一切正常 问询处 Docker版本18.03.0-ce,版本0520e24302(Docker toolbox/boot2docker/virtualbox 5.2.1
docker compose up-d
应正确装载卷
实际行为
突然之间(两天前它工作得很好,没有安装任何东西,也没有更新操作系统),卷不再被装载。没有看到任何错误消息,只有容器日志抱怨命令找不到文件(因为“空”卷覆盖了容器复制的文件)
如果我删除/service:/home/node/api
卷,docker就会使用容器中的文件,一切正常
问询处
- Docker版本18.03.0-ce,版本0520e24302(Docker toolbox/boot2docker/virtualbox 5.2.12)
- docker compose版本1.20.1,内部版本5d8c71b2
- Windows 7 x64
docker compose config
输出
services:
api:
build:
context: C:\users\fede\documents\test\service
container_name: api
ports:
- 3000:3000/tcp
volumes:
- /c/users/fede/documents/test/service:/home/node/api:rw
version: '3.0'
$docker inspect api
输出:
文件夹
为了加快调试速度,我简化了一个示例应用程序,您可以在这里看到:
我是docker的新手,但是如果有什么我可以提供的,以便在本地重新开始使用docker,请在评论中询问。但老实说,这种情况每天都在发生,没有对系统做任何改变。没有涉及反病毒。作为将来的参考,我终于找到了这种情况“突然”发生的原因。它与不使用大写字母的卷的命令行和相对路径有关 注意到相同的路径,但显示方式不同吗?那是我缺乏经验的结果 第一个可以很好地工作,VM可以毫无问题地将工作目录映射到共享卷。我想这与
C:\Users\Fede
有大写字母有关,而第二条路径不支持大写字母
因此,执行cd$HOME
会将我带到~
(HOME)路径,如下所示:
现在,终端路径已正确设置为开始正确映射主机卷
$docker compose config
services:
api:
build:
context: C:\Users\Fede\documents\test\service
container_name: api
ports:
- 3000:3000/tcp
volumes:
- /c/Users/Fede/documents/test/service:/home/node/api:rw
version: '3.0'