8-Docker容器数据卷

Docker容器数据卷

1.创建数据卷和示意图

docker run -d -p 5000:5000 -v /krisswen/myregistry/:/tmp/registry --privileged=true registry

​ 上述命令中,-v参数是volume,表示数据卷,意为将主机的目录作为容器目录的数据卷挂载。下面是数据卷挂载的示意图:

容器数据卷挂载示意图

​ 为了防止容器挂掉导致的数据丢失,因此将容器中的数据映射到宿主机中,完成数据的持久化。

2.数据卷的优点

  • 实现容器之间的数据共享:两个容器挂载到宿主机的同一目录下,就能实现容器间数据共享

  • 容器挂掉,数据不丢失

3.数据卷注意

​ 容器内目录和宿主机的目录下所有文件是互相映射的,也就是说:宿主机创建文件,容器里也会有;容器中创建文件,宿主机里也会有。

4.查看容器挂载信息

​ 使用以下命令查看容器的挂载情况:

docker inspect 容器ID

​ 在Mounts中查看挂载的信息。

5.容器只能读数据卷 方法

加上**ro标识**(read only):

docker run -d -p 5000:5000 -v /krisswen/myregistry/:/tmp/registry:ro --privileged=true registry

6.继承并共享数据卷

​ 可以让另一个容器继承某个容器的数据卷规则来实现共享,而不是再写一遍规则(防止出错):--volumes-from 父容器

docker run -d -p 5000:5000 --name=u1 -v /krisswen/myregistry/:/tmp/registry:ro --privileged=true registry		#容器1

docker run -d -p 5000:5000 --name=u2 --volumes-from u1 --privileged=true registry #容器2