我有一个docker-compose.yml
包含以下内容的文件:
volumes: - .:/usr/app/ - /usr/app/node_modules
第一个选项将当前主机目录映射到/usr/app
,但第二个选项的作用是什么?
根据Docker的知识库,只是为了补充已接受的答案,有三种类型的卷:主机,匿名和命名:
一个主机卷住在泊坞主机的文件系统,可以从容器中进行访问.示例卷路径:
/path/on/host:/path/in/container
一个匿名的体积是当你宁愿泊坞窗把手在文件存储有用.但是,当它是匿名卷时,可能很难引用相同的卷.示例卷路径:
/path/in/container
一个名为体积类似于一个匿名的体积.Docker管理磁盘创建卷的位置,但是为其指定卷名.示例卷路径:
name:/path/in/container
您的示例中使用的路径是匿名卷.
第二个创建一个匿名卷.它将docker volume ls
以长唯一ID而不是名称列出.如果你更新你的图像,Docker-compose将能够重用它,但是很容易忘记哪个卷属于那些名称,所以我建议总是给你的卷命名.