欢迎大家关注我的以下主页,尤其是今日头条!!!谢谢🙏🙏🙏
csdn:雷园的csdn博客
个人博客:雷园的个人博客
简书:雷园的简书
今日头条:来自底层程序员的仰望
Docker容器的数据持久化
开头说几句
- 在上一章节中,我们介绍了容器的link操作。让我们更加方便的引用其他服务。
- 在这一章节中,我们将会介绍容器数据持久化。
- 希望在这章节中,大家可以快速掌握持久化的操作方式,避免数据丢失。
正式开始
为什么要对Docker容器的数据进行持久化?
- 避免容器误删导致数据丢失。
- 避免Docker应用意外中断或无法正常运行,导致数据丢失。
- 方便数据管理、备份、迁移等操作。
- 数据持久化后,即使容器删除,或者迁移数据至其他宿主机,我们只需要将数据挂载至容器内部,即可恢复数据。
如何正确的持久化Docker容器数据?
-
这里我们分别以两个容器为例说明。
-
大家最常用的数据库——不出意外的话,应该是Mysql无疑了。
-
那无论是测试、演示、生产,我们大多数时候都不希望数据丢失。
-
那当我们在运用容器的时候,同样有此夙愿,接下来我们就说一下Mysql容器的数据持久化。
-
一般来说我们都是引用官方的mysql images,所以我们先去Docker hub,看一下官方文档,看看他的工作目录是哪里。
-
由上图结果可见,与我们本地安装并无不同,数据仍然是存储至目录/var/lib/mysql。
-
那接下来,我们只需要启动的时候,将/var/lib/mysql挂载至宿主机任意目录即可。
-
操作命令
docker run -d -p 3306:3306 -v /data/mysql/:/var/lib/mysql/ --name mysql mysql:latest
-
详细说明一下上述命令:后台启动容器,映射端口3306至宿主机3306,挂载/var/lib/mysql/至宿主机/data/mysql/,容器名为mysql,镜像为mysql:latest
-
这样以来,mysql容器中的数据会持久化至宿主机,即使删除容器或切换宿主机,只要将数据挂载,即可快速恢复数据。
-
除了mysql,还有很多镜像的应用。如:文件服务器、FTP、SFTP、Redis、Mongo这些等等。
最后说几句
- 今天我们说明了数据持久化的用法,经过本人长久以来的使用,确实好用。
- 数据的丢失简直不要太痛苦,所以大家一定要珍惜自己的数据。
- 容器的基本操作我们说的差不多了,下一章节中,我们开始介绍镜像的制作、容器的编排、集群的搭建等等。
- 希望大家多多支持,谢谢大家。