Jnu2021 发表于 2024-12-25 10:13:49

打包greatsqldump进入greatsql官方镜像的问题

本帖最后由 Jnu2021 于 2024-12-25 10:20 编辑

现在公司脚本有个地方使用了mysqldump,但是宿主机上没有mysql,因为mysql要替换到greatsql;
现在需要把greatsqldump打包进官方镜像,然后重新commit成新镜像
GreatSQL-8.0.32-26-Linux-glibc2.17-x86_64 是执行load命令后解压出来的
请问接下来该怎么做
# ls
GreatSQL-8.0.32-26-Linux-glibc2.17-x86_64
GreatSQL-8.0.32-26-Linux-glibc2.17-x86_64.tar.xz
# docker exec -it greatsql /bin/bash
bash-4.4# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor.Commands end with ; or \g.


yejr 发表于 2024-12-25 10:45:15

可以采用类似下面的方法

1. 下载 GreatSQL-8.0.32-26-Linux-glibc2.28-x86_64 二进制包

2. 解压缩

3. 将解压缩后得到的 mysqldump 二进制文件 copy 到容器中

$ docker cp PATH/bin/mysqldump greatsql:/usr/bin/


"greatsql" 是你的docker容器名

4. 进入容器,测试mysqldump可以正常工作

$ docker exec -it greatsql bash -c "mysqldump --version"


5. 提交docker容器成为新镜像

$ docker commit greatsql greatsql-803226-with-mysqldump


"greatsql" 是你的docker容器名
"greatsql-803226-with-mysqldump" 是新的镜像名,自己改成别的也行

之后就可以导出这个新的docker镜像,放到其他服务器,新建的docker容器就会包含mysqldump。

reddey 发表于 2024-12-28 09:54:49

最近大家好像对容器化部署数据库比较感兴趣

yejr 发表于 2024-12-28 10:32:15

GreatSQL Docker镜像已重新构建,包含了 mysqldump、mysqlbinlog 等常用工具。

拉取后,可以采用类似下面的方法确认最后更新时间:


$ docker inspect registry.cn-beijing.aliyuncs.com/greatsql/greatsql | grep -i created
      "Created": "2024-12-27T09:23:57.663037997Z",

页: [1]
查看完整版本: 打包greatsqldump进入greatsql官方镜像的问题