Docker撰写v3:卷类型mount和bind

时间:2017-05-31 16:33:33

标签: docker docker-compose

我正在使用docker-compose语法版本3,并希望使用一些卷。卷的长语法上的documentation表示以下内容:

  

type:装载类型volumebind

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

1 个答案:

答案 0 :(得分:13)

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: