Docker容器数据卷

一、什么是Docker容器数据卷?

Docker的理念:

  • 将应用和运行的环境打包形成镜像,然后再由镜像创建容器并运行,这过程随着容器的运行,可能会产生一些数据,但是Docker容器产生的数据,如果不通过docker-commit生成新的镜像,使得数据做为镜像的一部分保存下来,那么当容器删除后,数据自然也就没有了。

所以,为了能保存容器运行过程中产生的数据,我们使用数据卷来实现持久化。 另外,也可以实现容器间继承+共享数据。

二、Docker容器数据卷的特点

数据卷的设计目的就是数据的持久化,完全独立于容器的生存周期,可以在关闭容器时,继续保存数据 。类似于redis的aof和rdb,因此Docker不会在容器删除时删除其挂载的数据卷,
特点:

  • 数据卷可在容器之间共享或重用数据
  • 卷中的更改可以直接生效
  • 数据卷中的更改不会包含在镜像的更新中

将docker容器内的数据保存进宿主机的磁盘中

docker容器内如何添加数据卷

共有2个方法,一是直接命令添加,二是DockerFile添加
直接命令添加:

docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录 镜像名 centos /bin/bash
# 容器内只能读,不能写,宿主机可写可读
docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录:ro 镜像名 centos /bin/bash

在这里插入图片描述
查看数据卷是否挂载成功

# 查看数据卷是否挂载成功
docker inspect 容器id
# Mounts字段就是挂载

Docker容器数据卷_第1张图片

数据卷容器

1、什么是数据卷容器

我们之前给容器挂载了数据卷,然后其它容器也可以通过挂载这个容器(父容器)实现数据共享,挂载数据卷的容器,称之为数据卷容器

2、实现数据卷容器的继承传递

docker run -it --name childDoc --volumes-from 77c79cca0420 centos

你可能感兴趣的:(docker,容器,运维)