Docker容器数据卷

文章目录

  • 简介
  • 案例
    • 读写规则映射添加说明

简介

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

将运用与运行的环境打包镜像,run后形成容器实例运行 ,但是我们对数据的要求希望是持久化的

Docker容器产生的数据,如果不备份,那么当容器实例删除后,容器内的数据自然也就没有了。

为了能保存数据在docker中我们使用卷。

特点:

  1. 数据卷可在容器之间共享或重用数据
  2. 卷中的更改可以直接实时生效
  3. 数据卷中的更改不会包含在镜像的更新中
  4. 数据卷的生命周期一直持续到没有容器使用它为止

Docker挂载主机目录访问如果出现cannot open directory .: Permission denied
解决办法:在挂载目录后多加一个--privileged=true参数即可

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

docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录―镜像名

案例

docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录 镜像名

 docker run -it --privileged=true -v /tmp/app:/tmp/app ba78e6d6845c

在这里插入图片描述
效果:
在host主机加 东西
在这里插入图片描述
docker里面也加了东西
Docker容器数据卷_第1张图片

1 docker修改,主机同步获得

2 主机修改,docker同步获得

3 docker容器stop,主机修改,docker容器重启 数据也是是同步。

读写规则映射添加说明

读写(默认):
docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录:rw 镜像名默认同上案例,默认就是rw

容器实例内部被限制,只能读取不能写

docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录:ro 镜像名

后面加上:ro

可以继承,容器1完成和宿主机的映射,容器2继承容器1的卷规则
一个改三个都改,其中一个宕机了,恢复之后还是会恢复数据.

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