Docker核心技术之数据管理

本文涉及的产品
数据管理 DMS,安全协同 3个实例 3个月
推荐场景:
学生管理系统数据库
简介: Docker核心技术之数据管理

一、Docker 数据卷简介



为什么用数据卷


宿主机无法直接访问容器中的文件


容器中的文件没有持久化,导致容器删除后,文件数据也随之消失


容器之间也无法直接访问互相的文件


为解决这些问题,docker加入了数据卷(volumes)机制,能很好解决上面问题,以实现:


容器与主机之间、容器与容器之间共享文件


容器中数据的持久化


将容器中的数据备份、迁移、恢复等


数据卷的特点


数据卷存在于宿主机的文件系统中,独立于容器,和容器的生命周期是分离的。


数据卷可以目录也可以是文件,容器可以利用数据卷与宿主机进行数据共享,实现了容器间的数据共享和交换。


容器启动初始化时,如果容器使用的镜像包含了数据,这些数据会拷贝到数据卷中。


容器对数据卷的修改是实时进行的。


数据卷的变化不会影响镜像的更新。数据卷是独立于联合文件系统,镜像是基于联合文件系统。镜像与数据卷之间不会有相互影响。


二、Docker 数据卷管理



Docker挂载容器数据卷的三种方式


bind mounts:将宿主机上的一个文件或目录被挂载到容器上。


volumes:由Docker创建和管理。使用docker volume命令管理


tmpfs mounts:tmpfs 是一种基于内存的临时文件系统。tmpfs mounts 数据不会存储在磁盘上。


20190430234131105.png


bind mounts方式挂载数据卷


利用docker run/create的参数为容器挂载数据卷


用法:     方式一: -v, --volume参数          


                               -v 宿主机文件或文件夹路径:容器中的文件或者文件夹路径    


              方式二:--mount参数            


                             --mount type=bind, src=宿主机文件或文件夹路径, dst=容器中的文件或者文件夹路径            


注意:src指定的文件和路径必须提前创建或存在


命令演示:


20190430234319938.png


volumes方式挂载数据卷


利用docker run/create为容器挂载数据卷


用法:     方式一: -v, --volume参数            


                              -v VOLUME-NAME:容器中的文件或者文件夹路径    


               方式二:--mount 参数      


                             --mount type=volume, src=VOLUME-NAME, dst=容器中的文件或者文件夹路径


volume对象管理:    


docker volume        命令管理volume数据卷对象    


docker volume create        创建数据卷对象    


docker volume inspect        查看数据卷详细信息    


docker volume ls            查看已创建的数据卷对象    


docker volume prune        删除未被使用的数据卷对象    


docker volume rm        删除一个或多个数据卷对象


tmpfs mount方式挂载数据卷


利用docker run/create为容器挂载数据卷


用法:     --mount type=tmpfs, dst=PATH


共享其他容器的数据卷-数据卷容器

利用docker run/create 的--volumes-from参数指定数据卷容器


用法:     docker run/create --volumes-from CONTAINER


三、Docker 数据卷注意事项



数据卷使用注意


Docker的数据卷更多会是使用volumes方式来进行使用。使用时需注意:


如果挂载一个空的数据卷到容器中的一个非空目录中,那么这个目录下的文件会被复制到数据卷中。


如果挂载一个非空的数据卷到容器中的一个目录中,那么容器中的目录中会显示数据卷中的数据。


如果原来容器中的目录中有数据,那么这些原始数据会被隐藏掉。


这两个规则都非常重要,灵活利用第一个规则可以帮助我们初始化数据卷中的内容。掌握第二个规则可以保证挂载数据卷后的数据总是你期望的结果。


四、总结


重点掌握


数据卷特征和简介


mount方式绑定数据卷


数据卷挂载的三种形式


数据卷使用的注意事项


相关实践学习
MySQL基础-学生管理系统数据库设计
本场景介绍如何使用DMS工具连接RDS,并使用DMS图形化工具创建数据库表。
目录
相关文章
|
18天前
|
运维 持续交付 Docker
深入理解Docker容器化技术
深入理解Docker容器化技术
|
22天前
|
Java 应用服务中间件 Linux
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
本文主要讲解了Docker的安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库以及Docker容器虚拟化与传统虚拟机比较。
288 11
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
|
1天前
|
负载均衡 网络协议 算法
Docker容器环境中服务发现与负载均衡的技术与方法,涵盖环境变量、DNS、集中式服务发现系统等方式
本文探讨了Docker容器环境中服务发现与负载均衡的技术与方法,涵盖环境变量、DNS、集中式服务发现系统等方式,以及软件负载均衡器、云服务负载均衡、容器编排工具等实现手段,强调两者结合的重要性及面临挑战的应对措施。
13 3
|
1天前
|
开发框架 安全 开发者
Docker 是一种容器化技术,支持开发者将应用及其依赖打包成容器,在不同平台运行而无需修改。
Docker 是一种容器化技术,支持开发者将应用及其依赖打包成容器,在不同平台运行而无需修改。本文探讨了 Docker 在多平台应用构建与部署中的作用,包括环境一致性、依赖管理、快速构建等优势,以及部署流程和注意事项,展示了 Docker 如何简化开发与部署过程,提高效率和可移植性。
12 3
|
27天前
|
SQL 关系型数据库 数据库
国产数据实战之docker部署MyWebSQL数据库管理工具
【10月更文挑战第23天】国产数据实战之docker部署MyWebSQL数据库管理工具
92 4
国产数据实战之docker部署MyWebSQL数据库管理工具
|
5天前
|
持续交付 开发者 Docker
探索容器化技术Docker及其在现代软件开发中的应用
探索容器化技术Docker及其在现代软件开发中的应用
|
10天前
|
运维 Kubernetes Cloud Native
云原生技术入门:Kubernetes和Docker的协同工作
【10月更文挑战第43天】在云计算时代,云原生技术成为推动现代软件部署和运行的关键力量。本篇文章将带你了解云原生的基本概念,重点探讨Kubernetes和Docker如何协同工作以支持容器化应用的生命周期管理。通过实际代码示例,我们将展示如何在Kubernetes集群中部署和管理Docker容器,从而为初学者提供一条清晰的学习路径。
|
14天前
|
缓存 监控 开发者
掌握Docker容器化技术:提升开发效率的利器
在现代软件开发中,Docker容器化技术成为提升开发效率和应用部署灵活性的重要工具。本文介绍Docker的基本概念,并分享Dockerfile最佳实践、容器网络配置、环境变量和秘密管理、容器监控与日志管理、Docker Compose以及CI/CD集成等技巧,帮助开发者更高效地利用Docker。
|
18天前
|
关系型数据库 数据管理 应用服务中间件
【赵渝强老师】Docker的数据持久化
在生产环境中使用Docker时,为了实现数据的持久化和共享,可以通过数据卷(Data Volumes)和数据卷容器(Data Volume Containers)两种方式来管理数据。数据卷是一个独立于容器的挂载目录,可以跨多个容器共享和重用。数据卷容器则是一种特殊容器,用于维护数据卷,便于数据迁移和共享。本文通过示例详细介绍了这两种方法的使用步骤。
|
18天前
|
Cloud Native 持续交付 Docker
Docker容器化技术:从入门到实践
Docker容器化技术:从入门到实践

热门文章

最新文章