该
VOLUME命令将在您的容器中安装一个目录,并将在该目录中创建或编辑的所有文件存储 在容器文件结构外部的 主机磁盘上,绕过联合文件系统。
这个想法是,您的卷可以在您的docker容器之间共享,并且只要存在引用它们的容器(正在运行或已停止),它们就会一直存在。
--volumes-from运行容器时,可以使用命令让其他容器安装现有卷(在容器之间有效地共享它们)。
VOLUME和之间的根本区别
-v是:
-v将来自操作系统的现有文件安装在Docker容器中,
VOLUME并将在主机上 创建一个新的空卷
,并将其安装在容器中。
例:
- 您有一个定义了的Dockerfile
VOLUME /var/lib/mysql
。 - 您构建Docker映像并对其进行标记
some-volume
- 您运行容器
然后,
- 您还有另一个要使用此卷的Docker映像
- 您使用以下命令运行docker容器:
docker run --volumes-from some-volume docker-image-name:tag
- 现在您正在运行一个Docker容器,该容器将从中
some-volume
装入该卷/var/lib/mysql
注意:使用
--volumes-from会将卷安装在卷位置上存在的任何位置上。即,如果您有东西
/var/lib/mysql,它将被卷的内容替换。



