Docker compose v3:卷typesmount和bind之间的区别
我正在使用docker-compose
语法版本3,并希望使用一些卷。 关于卷的长语法的文档声明如下:
type
:安装typesvolume
或bind
但从来没有完全解释这种差异。 它是什么?
bind
是一个更简单的理解。 它需要一个主机path,说/data
并将其挂载到您的容器,说/opt/app/data
。 /data
可以是任何东西,可能安装在NFS
或者它可能是一个本地主机path。 docker run -v /data:/opt/app/data -d nginx
volume
装是您可以使用指定卷的位置。
你通常会使用一个卷驱动器,但是你可以使用默认的本地卷驱动器获得一个主机装入的path,如下所示:
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将为匿名卷创build一个自动生成的长名称。
在docker-compose中,你可以像下面这样使用它:
web: image: nginx:latest volumes: /data:/opt/app/data data:/opt/app/data1 volumes: data: