Docker | 数据持久化与数据共享
2023-03-20 15:31:27 时间
数据持久化(安装MySQL)
参考另一篇Docker安装mysql: https://www.cnblogs.com/all-smile/p/16778376.html
MySQL的数据持久化问题
# 下载容器
docker pull mysql:5.7
-d 后台运行
-p 端口映射
-v 挂载数据卷
-e 环境配置
--name 容器名字
# 运行容器
docker run -d -p 3310:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql01 mysql:5.7
https://hub.docker.com/_/mysql
官网启动MySQL,设置密码
docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag
启动成功之后,使用客户端连接
这里我使用的是SQLyog工具连接MySQL数据库
sqlyog连接服务器的3310端口,3310端口映射MySQL容器的3306端口。
可以在Linux主机/home
目录下查看到mysql
文件夹
删除MySQL容器,可以看到Linux主机上/home/mysql/数据依然存在
- docker rm -f 容器ID
- docker ps -a
- cd /home/mysql
- ls
运行新的MySQL容器通过挂载数据卷,就可以把Linux主机上备份的数据重新导入到容器里,这就是数据持久化。
数据共享
容器之间同步数据。比方说,两个MySQL
数据库同步数据
--volumes-from
实现容器间的数据共享
多个centos容器数据共享
- 父容器docker01(数据卷容器)
# 父容器docker01(数据卷容器)
docker run -it --name docker01 xiao-centos /bin/bash
- 创建docker02容器,继承关联docker01容器
docker run -it --name docker02 --volumes-from docker01 xiao-centos /bin/bash
- 创建docker03容器,继承关联docker01容器
docker run -it --name docker03 --volumes-from docker01 xiao-centos /bin/bash
以上三个容器之间数据同步共享,测试停止并删除docker01容器之后,docker02,docker03的数据存在且依然可以同步数据
多个MySQL实现数据共享
# 创建mysql01容器
docker run -d -p 3310:3306 -v /etc/mysql/conf.d -v /var/lib/mysql -e MYSQL_ROOT_PQSSWORD=123456 --name mysql01 mysql:5.7
# 创建mysql02容器,同步mysql01容器
docker run -d -p 3310:3306 -e MYSQL_ROOT_PQSSWORD=123456 --name mysql02 --volumes-from mysql02 mysql:5.7
通过 --volumes-from 实现数据共享(继承)
结论:
容器之间配置信息的传递,数据卷容器的生命周期一直持续到没有容器为止。
同步到宿主机本机的数据,本地持久化
我是 甜点cc
热爱前端,也喜欢专研各种跟本职工作关系不大的技术,技术、产品兴趣广泛且浓厚,等待着一个创业机会。本号主要致力于分享个人经验总结,希望可以给一小部分人一些微小帮助。
希望能和大家一起努力营造一个良好的学习氛围,为了个人和家庭、为了我国的互联网物联网技术、数字化转型、数字经济发展做一点点贡献。数风流人物还看中国、看今朝、看你我。
相关文章
- 从本体论开始说起——运营商关系图谱的构建及应用
- 如何成为一名数据科学家?
- 从未见过的堂兄杀了人,你的DNA是关键证据
- 20个安全可靠的免费数据源,各领域数据任你挑
- 20个安全可靠的免费数据源,各领域数据任你挑
- 阿里云李飞飞:All in Cloud时代,云原生数据库优势明显
- 基于Hadoop生态系统的一高性能数据存储格式CarbonData(性能篇)
- 大数据告诉你:10年漫威,到底有多少角色
- TigerGraph:实时图数据库助力金融风控升级
- Splunk利用Splunk Connected Experiences和Splunk Business Flow 扩大数据访问
- 大数据开发常见的9种数据分析手段
- 以免在景区看人,我爬了5W条全国景点门票数据...
- 【实战解析】基于HBase的大数据存储在京东的应用场景
- 数据科学家告诉你哪些计算机科学书籍是你应该看的
- Kafka作为大数据的核心技术,你了解多少?
- Spring Boot 整合 Redis 实现缓存操作
- 大数据学习必须掌握的五大核心技术有哪些?
- 基于Antlr在Apache Flink中实现监控规则DSL化的探索实践
- 甲骨文再次被Gartner评为分析型数据管理解决方案魔力象限领导者
- 爬取吴亦凡微博102118条转发数据,扒一扒流量的真假