快好知 kuaihz

云计算核心技术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 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不会在容器被删除后自动删除数据卷,并且也不存在垃圾回收这样的机制来处理没有任何容器引用的数据卷,无主的数据卷可能会占据很多空间,所以要及时删除。

本站资源来自互联网,仅供学习,如有侵权,请通知删除,敬请谅解!
搜索建议:Docker  Docker词条  核心  核心词条  计算  计算词条  使用  使用词条  教程  教程词条  
热点

 互联网公司春节大考月“交卷”

年关已过,交卷时刻来临。我们可以好好盘点一番互联网公司的“春节战绩”,从资讯、电商、短视频市场中挖掘出一些有意思的数据现象。苏联科学家米丘林有这样一句话:我们不...(展开)