Docker撰写v3:卷类型mount和bind之间的区别

Kal*_*hon 14 docker docker-compose

我正在使用docker-compose语法版本3,并希望使用一些卷.有关卷的长语法的文档说明如下:

type:安装类型volumebind

但从未完全解释其中的差异.它是什么?

Ano*_*oop 14

bind是一个更容易理解的人.比如/data,它需要一个主机路径,并将其安装在容器内/opt/app/data./data可以是任何东西,可能是安装在NFS它或它可能是本地主机路径. docker run -v /data:/opt/app/data -d nginx

volume mount是您可以使用命名卷的地方.

您通常会使用卷驱动程序,但您可以使用默认的本地卷驱动程序获取主机安装路径,如下所示:

docker volume create data docker run -d -v data:/opt/app/data nginx

如果您运行此命名卷也可以是匿名的: docker run -d -v /opt/app/data nginx

如果你运行docker volume ls,docker会为匿名卷创建一个自动生成的长名称.

在docker-compose中,您只需使用如下:

web:
  image: nginx:latest
  volumes:
    /data:/opt/app/data
    data:/opt/app/data1

volumes:
  data:
Run Code Online (Sandbox Code Playgroud)