云技术|云计算核心技术Docker教程:Docker数据卷的使用
在生产环境中使用 Docker , 要想实现数据的持久化(所谓Docker的数据持久化即数据不随着Container的结束而结束)或者需要在多个容器之间进行数据共享 , 需要将数据从宿主机挂载到容器中 , 这就会涉及容器的数据管理操作 。
Docker数据卷(data volume , 注:位置在/var/lib/docker/volumes)是容器可以访问 , 但是位置不在root文件系统中的一个目录 。为了能让容器之间可以共享数据 , Docker让“卷”(volume)可以绕过Docker镜像的层叠机制 。容器中所有对镜像的改变全部都直接存储 。每个容器都有固定的运行目录在/var/lib/docker目录下;而每个容器卷的数据则默认单独存储在/var/lib/docker/volumes/目录底下 。docker run命令的-v选项能够实现容器间数据卷中数据的互相拷贝 。
数据卷Volume的基本使用:
1.管理卷
创建一个自定义容器卷
$ docker volume create my-vol
查看所有容器卷
$ docker volume ls
查看指定容器卷详情信息
$ docker volume inspect my-vol
2.创建使用指定卷的容器
有了自定义容器卷 , 我们可以创建一个使用这个数据卷的容器 , 这里我们以nginx为例:
【云技术|云计算核心技术Docker教程:Docker数据卷的使用】$ docker run -d -it --name=my-vol -p 8800:80 -v edc-nginx-vol:/usr/share/nginx/html nginx
其中 , -v代表挂载数据卷 , 这里使用自定数据卷my-vol , 并且将数据卷挂载到 /usr/share/nginx/html (这个目录是yum安装nginx的默认网页目录) 。
如果没有通过-v指定 , 那么Docker会默认帮我们创建匿名数据卷进行映射和挂载 。
3.删除一个卷
$ docker volume rm my-vol
Docker不会在容器被删除后自动删除数据卷 , 并且也不存在垃圾回收这样的机制来处理没有任何容器引用的数据卷 , 无主的数据卷可能会占据很多空间 , 所以要及时删除 。
推荐阅读
- 小龙虾|三农探析:池塘养殖小龙虾如何高产?高产养殖技术全解析
- 云南|云南昭通市威信县发生3.3级地震
- 穆云畲族乡|福安市穆云畲族乡虎头村:桃花开 春耕忙
- 白云飞|青春榜样|参与大国重器项目!硕博生白云飞和他的万米海试
- 云吧|昌宁:入春了,漫山野菜里藏着人间烟火气
- 大棚蔬菜|早春大棚蔬菜病虫害防治技术要点,老农讲得太实用了
- 心绞痛|王吉云大夫:一个故事说清如何识别心绞痛!
- 松树|松烂皮病的发生规律和防治技术-松树枯梢病防治技术
- 中煤科工集团|中煤科工集团西安研究院研发煤层气(瓦斯)地面抽采新技术
- 航空航天|医学和航空航天跨专业碰撞,胡盛寿院士团队打破pVAD技术海外垄断
