【MySQL】用MySQL二进制包构建docker镜像

一、实验背景

【MySQL&docker】基于CentOS7.5 编译制作MySQL5.7.28镜像

https://www.jianshu.com/p/71fd79b69a6b

用MySQL源码编译的docker镜像,体积过大,直奔3G了,你也不清楚,这点编译参数打出的体积怎么就这么大!

想到MySQL官方提供一种二进制安装包,只有600M左右,加上基础镜像和一些依赖包,打成镜像的话,也就1G大一点。



二、下载MySQL二进制安装包


官网地址:https://dev.mysql.com/downloads/mysql/5.7.html

# wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz


# tar -zxf  mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz

# cd  mysql-5.7.28-linux-glibc2.12-x86_64  

看来失算了,600M是压缩包的大小,解压后就2.7G了!



MySQL 官方镜像中二进制文件个库文件的体积大小,我们以 MySQL 5.7.27 为例:

# docker run -it --rm mysql:5.7.27 bash

# du -sh /usr/bin/mysql*

# du -sh /usr/sbin/mysql*

# du -sh /usr/lib/mysql/



现在知道为什么MySQL官方镜像为什么小了,因为只安装必须的一下二进制文件和库文件,而编译安装和二进制包是将所有的二进制文件和库文件都包括了!

如果想缩小构建的编译的镜像体积,就需要清楚怎么取舍二进制问文件和库文件了!


官方Dockerfile:

dockerfile:https://github.com/docker-library/mysql/blob/master/5.7/Dockerfile

docker-entrypoint.sh:https://github.com/docker-library/mysql/blob/master/5.7/docker-entrypoint.sh


三、参考


MySQL5.7 Dockerfile

https://www.cnblogs.com/wshenjin/p/10100949.html


简仿MySQL官方容器dockerfile

https://blog.csdn.net/weixin_33981932/article/details/92600770

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容