Docker 学习总结(76)—— 所有项目的容器化部署的基础镜像都应该选择 alpine 吗?

Posted 科技D人生

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker 学习总结(76)—— 所有项目的容器化部署的基础镜像都应该选择 alpine 吗?相关的知识,希望对你有一定的参考价值。

一、为什么使用更小的基础镜像

首先,要了解这个问题的来源,为什么纠结这种事呢。当然原因在于,容器镜像虽然方便高效,但它有一个最大的问题就是,比较占用空间了。就算你随便把一个 Java 服务构建成镜像,镜像 Image 大小至少都在 100-200M 左右。这个大小当然还好,但我们做项目基本都是使用 CI/CD 自动构建,至少每天或每次 commit 都要触发一次开发/测试环境的全自动构建流程,一个项目一堆镜像服务,长年累月下来,这个空间占用量还是很恐怖的。而且基本上 Docker 的相关教程,一定会讲如何构建空间更小的镜像。使用 Docker 的你,一定也有特别注意到这一点吧。尽量使用适当的方式,构建更小的镜像,这肯定是需要的了。所以问题就来了,基本上很多建议,甚至是 Docker 官方的建议中,都会有一个点,就是使用更小的基础镜像。而在小的基础镜像中,最多的被提及的就是 alpine 了。

二、关于 alpine 镜像

alpine 是一个非常特别的 Linux 发行版本,它本来是用于嵌入式系统中的,大小才 5M 左右,对于嵌入式系统,非常合适。本来并非用于 Linux 服务领域,但随着容器的流行,这个才 5M 大小的 Linux 在 Docker 中流行起来了,因为太小了,非常节省空间。这里就对比下同样属于 Linux 镜像 Ubuntu 与 alpine 的大小。

以上是关于Docker 学习总结(76)—— 所有项目的容器化部署的基础镜像都应该选择 alpine 吗?的主要内容,如果未能解决你的问题,请参考以下文章

Docker 学习总结(76)—— 所有项目的容器化部署的基础镜像都应该选择 alpine 吗?

Docker学习总结(56)——Docker-compose 基础知识温习

Docker学习总结(56)——Docker-compose 基础知识温习

Docker学习总结(60)——Docker-Compose 基础知识回顾总结

Docker学习总结(60)——Docker-Compose 基础知识回顾总结

Docker学习总结(69)—— 不用 Docker 如何构建容器