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是匿名卷 。