
技术分享 | 自制GreatSQL Docker镜像
0、提纲
● 0、提纲
● 1、准备工作
● 2、开始制作docker镜像
■ 2.1 准备安装包及配套
■ 2.2 编辑Dockerfile
■ 2.3 制作镜像
■ 2.4 保存镜像到本地
■ 2.5 发布docker镜像
近期打算制作一个GreatSQL的docker镜像,方便社区用户使用GreatSQL。
制作docker镜像的环境基于CentOS 7.9:
1、准备工作
要制作docker镜像,需要先安装docker,并启动服务。
准备好一个CentOS基础镜像,选用CentOS 7这个基础镜像。
这个镜像的仓库是 docker.io/centos,标签是 7(表示是CentOS 7版本),标签ID是 8652b9f0cb4c,最后更新时间是7个月前,镜像大小是204MB。
这里如果选择CentOS 8的镜像也是可以的,不过一些系统命令略有区别,具体选哪个纯粹看个人喜好。
2、开始制作docker镜像
先创建工作目录 /data/docker-greatsql:
2.1 准备安装包及配套
运行GreatSQL需要用到jemalloc,默认的yun源里通常没有,所以先自行下载到本地:
准备好 GreatSQL 二进制包,放在 /data/docker-greatsql 目录下,并提前把 greatsql.service, my.cnf, sysconfig/mysql 等文件也放入:
提醒:docker镜像中使用GreatSQL二进制文件已经执行过 strip 操作,删除二进制程序文件中的符号信息和调试信息,其优势是文件特别小,缺点是后期无法用于gdb跟踪调试。
接下来编辑Dockfile文档。
2.2 编辑Dockerfile
Dockerfile文档内容如下:
内容还是比较容易看懂的,就不多做详细解释了。
2.3 制作镜像
运行 docker build 创建一个新的镜像:
参数 -t greatsql:8.0.23 的作用是打tag,也就是镜像名。
构建的整个过程大概如下(部分输出内容省略了):
看到最后的 Successfully 就表示打包成功了,如果有报错,需要根据错误信息逐个解决。
2.4 保存镜像到本地
把镜像文件保存到本地,方便拷贝到其他无外网的服务器上使用。运行 docker save 即可:
保存成功,即可看到本地镜像文件包名 Docker-GreatSQL-8.0.23-centos7.tar。
运行命令 docker load 即可加载本地镜像:
2.5 发布docker镜像
以发布到官方仓库 https://hub.docker.com 为例。
需要先自行注册账号,再用该账号登入:
首次发布前,要先对本地镜像打个标签,例如:
打完标签,就可以发布镜像了:
查看镜像列表:
可以搜索镜像,感受下看到自己劳动成果的喜悦。
0
现在可以下载该镜像了:
不加任何标签名的话,则自动选择最新的,也就是等同于:
可以自行修改标签名下载。
本次先介绍到这里,下一P再介绍如何利用GreatSQL Docker镜像构建一个MGR集群。
水平有限,也请各位读者大人帮忙看看哪些可以优化的地方,感谢。
Enjoy GreatSQL & Docker :)
下载国内CentOS 7 yum源文件,以阿里、腾讯两大云主机为例,可以这样配置(两个yum源自行二选一):
本文转载自公众号GreatSQL
