【问题标题】:Docker compose mounting empty volumesDocker compose 挂载空卷
【发布时间】:2018-05-29 17:29:26
【问题描述】:

预期行为

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 sharing folder.jpg

已经尝试从 virtualbox 中删除 docker 机器并再次创建它,修剪所有卷/图像和容器。甚至重新安装 Docker Toolbox,但问题仍然存在。

一切都以管理员权限运行。

更多信息

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,请在 cmets 中询问。但老实说,这种情况从一天到另一天开始发生,而没有对系统进行任何更改。不涉及防病毒。

【问题讨论】:

    标签: docker docker-compose virtualbox windows-7-x64 boot2docker


    【解决方案1】:

    为了以后参考,我终于找到了“突然”开始发生这种情况的原因。它与命令行和不支持大写字母的卷的相对路径有关。

    注意相同的路径,但显示不同?那是我经验不足的产物。

    第一个完美运行,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'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-20
      • 2016-02-29
      • 1970-01-01
      相关资源
      最近更新 更多