Docker:关于谨慎使用Alpine基础镜像
大约 1 分钟
注
了解到Alpine
基础镜像的一些弊端,方便以后避坑。
Alpine介绍
Alpine 操作系统是一个面向安全的轻型 Linux 发行版。它不同于通常 Linux 发行版,Alpine 采用了 musl libc 和 busybox 以减小系统的体积和运行时资源消耗,但功能上比 busybox 又完善的多,因此得到开源社区越来越多的青睐。在保持瘦身的同时,Alpine 还提供了自己的包管理工具 apk
特点
- 体积小。只有几MB。
- 使用了musl C类动态库。没有使用 glibc 这样比较重的动态库,而是使用 busybox + musl libc,也使得它所以体积小。
存在的坑
- DNS 转发失败
- 底层依赖缺失很多
- 构建 Python docker 容器速度慢
注意
生产环境,应该尽力避免使用Alpine作为基础镜像
推荐基础镜像
Debian或Ubuntu
, 这些镜像也不是很大,才几十MB