期望的行为
docker-compose up -d
应该正确挂载卷。
实际的行为
突然之间(两天前它完美地工作了,没有安装任何东西或更新操作系统),卷不再被挂载。没有看到任何错误消息,只有容器日志在抱怨命令找不到文件(因为空的卷覆盖了容器中复制的文件)。
如果我删除 ./service:/home/node/api
卷,那么 Docker 就会使用容器中的文件,一切正常。
信息
- Docker 版本 18.03.0-ce,构建 0520e24302(Docker 工具箱 / boot2docker / virtualbox 5.2.12)
- docker-compose 版本 1.20.1,构建 5d8c71b2
- Windows 7 x64
- Virtual box 分享文件夹.jpg
已尝试从 VirtualBox 中删除 Docker 虚拟机并重新创建、修剪所有卷 / 镜像和容器,甚至重新安装 Docker 工具箱,但问题仍然存在。
所有操作都使用管理员权限运行。
更多信息
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
的输出可参考:https://pastebin.com/1zQ3vjFi
文件
为了加快调试速度,我简化了一个样例程序,您可以在这里看到:https://github.com/Frondor/simple-node-app
我对 Docker 还比较新,但如果需要提供其他信息以便再次在本地使用 Docker,请在评论中询问。但是,说实话,这一天它就突然出现了,没有对系统进行任何更改,也没有涉及杀毒软件。