前言
在生产环境中使用 Docker,要想实现数据的持久化(所谓 Docker 的数据持久化即数据不随着 Container 的结束而结束)或者需要在多个容器之间进行数据共享,需要将数据从宿主机挂载到容器中,这就会涉及容器的数据管理操作。Docker 数据卷(data volume,注:位置在/var/lib/docker/volumes)是容器可以访问,但是位置不在 root 文件系统中的一个目录。为了能让容器之间可以共享数据,Docker 让“卷”(volume)可以绕过 Docker 镜像的层叠机制。容器中所有对镜像的改变全部都直接存储。每个容器都有固定的运行目录在 /var/lib/docker 目录下;而每个容器卷的数据则默认单独存储在 /var/lib/docker/volumes/ 目录底下。 docker run 命令的 -v 选项能够实现容器间数据卷中数据的互相拷贝。
管理卷 创建一个自定义容器卷$ docker volume create myvolume
查看所有容器卷
$ docker volume ls
查看指定容器卷详情信息
$ docker volume inspect myvolume
创建使用指定卷的容器
有了自定义容器卷,我们可以创建一个使用这个数据卷的容器,这里我们以nginx为例:
$ docker run -d -it --name=myvolume -p 8800:80 -v edc-ng