【云原生】Docker容器数据卷

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 【云原生】Docker容器数据卷

是什么

卷就是目录或文件,存在于一个或多个容器中,由docker挂载到容器,但不属于联合文件系统,因此能够绕过Union File System提供一些用于持续存储或共享数据的特性:


卷的设计目的就是数据的持久化,完全独立于容器的生存周期,因此Docker不会在容器删除时删除其挂载的数据卷


一句话:有点类似我们Redis里面的rdb和aof文件

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

运行一个带有容器卷存储功能的容器实例

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

能干嘛

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


Docker容器产生的数据,如果不备份,那么当容器实例删除后,容器内的数据自然也就没有了。为了能保存数据在docker中我们使用卷。


特点:


1:数据卷可在容器之间共享或重用数据


2:卷中的更改可以直接实时生效,爽


3:数据卷中的更改不会包含在镜像的更新中


4:数据卷的生命周期一直持续到没有容器使用它为止


数据卷案例

宿主vs容器之间映射添加容器卷

直接命令添加

docker run -it -v /宿主机目录:/容器内目录 ubuntu /bin/bash
docker run -it --name myu3 --privileged=true 
-v /tmp/myHostData:/tmp/myDockerData ubuntu /bin/bash

查看数据卷是否挂载成功

docker inspect 容器ID

5caa5c9a40bd4647ba31c51d40fb36c6.png

容器和宿主机之间数据共享

1  docker修改,主机同步获得

2 主机修改,docker同步获得

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

image.png

读写规则映射添加说明

读写(默认)

fac8adc2ccf34d89aea121dbd9c1cee5.png

rw = read + write

6eacd2214c6b4b3aa2be34dc2c6de4e9.png

docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录:rw 镜像名    
  • 只读
  • 容器实例内部被限制,只能读取不能写
  • 默认同上案例,默认就是rw

9df593e9c74d48659e05aa3a03f66a46.png

卷的继承和共享

容器1完成和宿主机的映射

docker run -it  --privileged=true -v /mydocker/u:/tmp --name u1 ubuntu

9f16beb8e2994d519dc34d76ba092f6b.png

f9b52edd7e2444899bb51f126f3a5d61.png

容器2继承容器1的卷规则

95850de2fa544a5abfb6525969e36cbb.png

docker run -it  --privileged=true --volumes-from 父类  --name u2 ubuntu
相关文章
|
1月前
|
安全 持续交付 Docker
Docker:重塑现代软件交付的容器引擎
Docker:重塑现代软件交付的容器引擎
|
1月前
|
存储 持续交付 Docker
Docker:轻量级容器技术重塑应用交付
Docker:轻量级容器技术重塑应用交付
|
1月前
|
Kubernetes Cloud Native 持续交付
Docker:轻量级容器化技术解析
Docker:轻量级容器化技术解析
|
1月前
|
运维 测试技术 Docker
Docker:轻量级容器化技术革命
Docker:轻量级容器化技术革命
|
1月前
|
存储 持续交付 Docker
Docker:颠覆传统开发的轻量级容器革命
Docker:颠覆传统开发的轻量级容器革命
|
2月前
|
Docker 容器
熟悉Docker容器管理命令:start、stop与restart详细使用指南
掌握这些Docker容器管理命令对于维护应用程序的正常运行至关重要。在实际操作中,应注意容器配置、关联资源以及日志等信息,确保各项操作都能够顺畅并且安全地执行。
189 0
|
2月前
|
存储 监控 测试技术
如何将现有的应用程序迁移到Docker容器中?
如何将现有的应用程序迁移到Docker容器中?
231 57
|
2月前
|
存储 监控 Java
如何对迁移到Docker容器中的应用进行性能优化?
如何对迁移到Docker容器中的应用进行性能优化?
221 58
|
2月前
|
NoSQL Redis Docker
使用Docker Compose工具进行容器编排的教程
以上就是使用Docker Compose进行容器编排的基础操作。这能帮你更有效地在本地或者在服务器上部署和管理多容器应用。
291 11