当前位置: 首页 > Web前端 > HTML

泊坞窗-数据持久化与数据共享

时间:2023-03-27 22:45:57 HTML

数据持久化(安装MySQL)参考另一个Docker安装mysql:https://segmentfault.com/a/1190000042597787MySQL数据持久化问题#下载容器dockerpullmysql:5.7-d后台运行-p端口mapping-v挂载数据卷-e环境配置--name容器名称#运行容器dockerrun-d-p3310:3306-v/home/mysql/conf:/etc/mysql/conf.d-v/home/mysql/data:/var/lib/mysql-eMYSQL_ROOT_PASSWORD=123456--namemysql01mysql:5.7https://hub.docker.com/_/mysql官网启动MySQL,设置密码dockerrun--namesome-mysql-eMYSQL_ROOT_PASSWORD=my-secret-pw-dmysql:tag启动成功后,使用客户端连接这里我使用SQLyog工具连接MySQL数据库。sqlyog连接服务器的3310端口,3310端口映射MySQL容器的3306端口。可以查看linuxhost/home目录下的mysql文件夹,删除mysql容器。可以看到/home/mysql/数据仍然存在于Linux主机上。dockerrm-fcontainerIDdockerps-acd/home/mysqlls运行一个新的MySQL容器,通过挂载数据卷,可以将Linux主机上备份的数据重新导入到容器中,这就是数据持久化。在数据共享容器之间同步数据。比如两个MySQL数据库同步数据--volumes-from实现容器间数据共享多个centos容器数据共享parentcontainerdocker01(datavolumecontainer)#parentcontainerdocker01(datavolumecontainer)dockerrun-it--namedocker01xiao-centos/bin/bash创建docker02容器,继承并关联docker01容器dockerrun-it--namedocker02--volumes-fromdocker01xiao-centos/bin/bash创建docker03容器,继承并关联docker01容器dockerrun-it--namedocker03--volumes-fromdocker01xiao-centos/bin/bash以上三个容器同步共享数据。停止测试,删除docker01容器后,docker02和docker03的数据存在,仍然可以同步。多个MySQL实现数据共享#创建mysql01容器dockerrun-d-p3310:3306-v/etc/mysql/conf.d-v/var/lib/mysql-eMYSQL_ROOT_PQSSWORD=123456--namemysql01mysql:5.7#创建mysql02容器,同步mysql01容器dockerrun-d-p3310:3306-eMYSQL_ROOT_PQSSWORD=123456--namemysql02--volumes-frommysql02mysql:5.7通过--volumes-from实现数据共享(继承)结论:传递配置容器之间的信息,数据卷容器的生命周期一直持续到没有更多容器为止。数据同步到宿主机,本地持久化。我是热爱前端的甜品cc,也喜欢专攻各种与本职工作关系不大的技术。我对技术和产品有广泛而浓厚的兴趣,正在等待创业机会。本号主要致力于分享个人的经验总结,希望能给小部分人一些小小的帮助。希望与大家一起营造良好的学习氛围,为个人和家庭,为我国的物联网技术、数字化转型、数字经济发展尽一份微薄之力。数风流人物还是看中国,看当下,看你我。