数据卷
数据卷简单来说就是一个目录,它是由docker daemon挂载到容器中的,不属于联合文件系统。数据卷中的内容不会因为容器的删除而丢失。
如果挂载了数据卷,使用docker commit提交时并不会把数据卷里面的内容提交到镜像中。
当两个容器使用同一个数据卷,也就是数据共享。
数据卷容器
让两个容器共享数据卷,最快的方法就是让他们同时挂载同一个目录作为数据卷即可。但有时不能把数据保存再宿主机中,或者数据要备份、迁移等,保存在宿主机上非常不方便,所有有了专门存放数据的数据卷容器。
数据卷容器不需要运行任何应用,只是一个存放数据的容器,允许其他容器可以挂载就可以。数据卷容器不是特指某一个具体的镜像启动的容器,事实上每一个容器都可以担当数据卷容器的功能。
为容器挂载数据卷
再docker run 或者 docker create 命令时,可以指定-v 参数来添加数据卷,这个参数可以使用多次。这样就可以挂载多个数据卷了。
命令格式:
docker run -it -v /宿主机绝对路径目录:/容器内目录 镜像名
docker run -d -v /var/lib/mysql --name=mysql_volume mysql /bin/true
数据卷的路径必须是绝对路径
/bin/true:初始化命令,打开一个shell脚本,可以不写。