在实际使用Docker的过程中,往往需要对数据进行持久化,或者需要在多个容器之间进行数据共享,这必然涉容器的数据管理操作。 容器中的数据管理主要由两种方式: 1.数据卷:容器内数据直接映射到本地主机环境; 2.数据卷容器:使用特定容器维护数据卷。
数据卷是一个可供容器使用的特殊目录,它将主机操作系统目录直接映射进容器,类似Linux中的mount行为。
数据卷提供了很多有用的特性:
除了create子命令外,volume还支持inspect(查看详细信息)、ls(列出已有数据卷)、prune(清除无用数据卷)、rm(删除数据卷)等。
在创建容器时将主机本地的任意路径挂载到容器内作为数据卷,这种形式创建的数据卷称为绑定数据卷。
docker run命令使用-mount选项来使用数据卷。该选项支持三种类型的数据卷:
使用training/webapp镜像创建一个web容器,并创建一个数据卷挂载到容器的/opt/webapp目录: $ docker run -d -P –name web –mount type=bind,source=/webapp,destination=/opt/webapp training/webapp python app.py 4c8d75fe28918c96c610200c1fb164dc1e10cbc78b93eef1000e26e3fa328619
注意:本地目录必须是绝对路径,容器内目录可以为相对路径。