MySQL 容器化详细教程
前言:
上篇文章介绍了Docker工具的安装及常用命令使用。本篇文章我们会介绍如何在Docker中运行MySQL实例,可能有的小伙伴会问:为什么要在Docker里运行MySQL呢?因为在Docker里部署MySQL实例操作简单,不需要考虑操作系统等依赖差异,而且可以多实例部署,比如说我们原来服务器有安装MySQL5.7,我们想再运行MySQL8.0实例的话只需要用Docker启动MySQL8.0镜像即可。下面我们就来介绍下如何用Docker启动MySQL实例。
▍1.拉取MySQL官方镜像
在上篇文章中我们介绍过Docker中三个基本的概念:镜像,容器,仓库。要用在Docker中部署MySQL,第一步要做的是从官方仓库中拉取MySQL镜像,这里我们从Docker Hub中拉取MySQL镜像。进入Docker Hub,搜索MySQL,可以看到如下画面,其中有不同版本的镜像及使用介绍。
比如我们想拉取MySQL5.7版本及8.0版本的镜像,可以做如下操作:
其实MySQL官方镜像也存在一些缺陷,比如说时区不是北京时间,系统字符集问题等。下面以MySQL5.7.23版本镜像为基础,展示下如何修改构建镜像。
▍2.启动MySQL实例
这里为大家介绍如何利用上面构建的镜像来运行MySQL实例,MySQL容器化其实也需要映射端口,数据持久化,加载配置文件等操作,下面给大家演示下具体启动操作。
2.1 创建数据持久化路径及配置文件
2.2 docker run运行MySQL实例
2.3 检查容器状态
▍3.其他相关操作
到此为止,我们已经在Docker中成功运行了MySQL实例,其实还没有结束,还有好多操作还没讲,比如如何备份恢复,怎么更改配置等,下面简单介绍下这类相关操作。
备份恢复
更改配置
如果你想在本地通过工具连接容器内MySQL的话,可以使用宿主机ip加映射端口来连接。比如我们上面创建的MySQL实例就可以通过宿主机ip 30661端口来连接,若无法连接请检查网络及服务器防火墙。
总结:
本文主要介绍在Docker中部署MySQL的方法步骤,体验下来你会发现非常简单方便,而且可以大规模多实例部署。假如你想体验最新版本8.0.18的话,可以自己部署下试试看,其实还可以更简单,比如说直接运行docker run mysql:5.7.23 即可启动一个实例,但是为了更加规范,还是建议将配置文件及数据目录都挂载到宿主机本地。
参考资料:
版权声明: 本文为 InfoQ 作者【Simon】的原创文章。
原文链接:【http://xie.infoq.cn/article/62c671a97a367bc7e90472b49】。文章转载请联系作者。
评论