Docker撰写:没有冒号的卷(:)

我有一个docker-compose.yml文件,内容如下:

 volumes: - .:/usr/app/ - /usr/app/node_modules 

第一个选项将当前主机目录映射到/usr/app ,但第二个选项是做什么的?

第二个创build一个匿名卷。 它将被列在docker volume ls ,具有很长的唯一ID而不是名称。 如果你更新图像,Docker-compose将可以重用,但是很容易忘记哪个卷属于哪个名称,所以我build议你总是给你的卷名。

为了补充接受的答案,根据Docker的知识库 ,有三种types的卷: 主机匿名命名

  • 主机卷位于Docker主机的文件系统上,可以从容器内访问。 音量path示例:

    /path/on/host:/path/in/container

  • 当你想让Docker处理文件的存储位置时, 匿名卷是非常有用的。 然而,当它是一个匿名卷时,可能很难指向相同的卷。 音量path示例:

    /path/in/container

  • 一个命名卷类似于一个匿名卷。 Dockerpipe理卷在哪个磁盘上创build,但是你给它一个卷名。 音量path示例:

    name:/path/in/container

您的示例中使用的path是匿名卷