【MySQL】用MySQL二進(jìn)制包構(gòu)建docker鏡像

一、實(shí)驗(yàn)背景

【MySQL&docker】基于CentOS7.5 編譯制作MySQL5.7.28鏡像

http://www.itdecent.cn/p/71fd79b69a6b

用MySQL源碼編譯的docker鏡像,體積過大,直奔3G了,你也不清楚,這點(diǎn)編譯參數(shù)打出的體積怎么就這么大!

想到MySQL官方提供一種二進(jìn)制安裝包,只有600M左右,加上基礎(chǔ)鏡像和一些依賴包,打成鏡像的話,也就1G大一點(diǎn)。



二、下載MySQL二進(jìn)制安裝包


官網(wǎng)地址: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 官方鏡像中二進(jìn)制文件個庫文件的體積大小,我們以 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/



現(xiàn)在知道為什么MySQL官方鏡像為什么小了,因?yàn)橹话惭b必須的一下二進(jìn)制文件和庫文件,而編譯安裝和二進(jìn)制包是將所有的二進(jìn)制文件和庫文件都包括了!

如果想縮小構(gòu)建的編譯的鏡像體積,就需要清楚怎么取舍二進(jìn)制問文件和庫文件了!


官方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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容