既然 alpine 体积这么小,为什么其它软件官方镜像不把它作为基础镜像?

2019-02-02 00:55:38 +08:00
 anzu
▶ docker images
REPOSITORY                   TAG                 IMAGE ID            CREATED             SIZE
yobasystems/alpine-mariadb   latest              f8804eea22fd        5 days ago          154MB
mariadb                      latest              901583bfdf5a        9 days ago          367MB

mariadb 官方用的是 ubuntu,差不多相差 150M 了。

8437 次点击
所在节点    Alpine Linux
9 条回复
mmtromsb456
2019-02-02 01:20:03 +08:00
alpine 和 debian/ubuntu 等基础镜像是有本质区别的.除了体积以外.后者使用的 libc 是 glibc.alpine 是 musl-libc.移植程序的时候要考虑这两者兼容上的问题.
yyfearth
2019-02-02 02:52:55 +08:00
接楼上 而且两者执行效率也不同

如果直接把用为 libc 编译的二进制 直接扔到 alphine 上面运行 兼容性和运行效率会比 Debian 或者 Centos 这些常用的差
除非专门给 alpine 编译一个版本

另外 这些常用的环境 在工具和安装配置上 也比 alpine 成熟和方便 大家也都更熟悉
wwqgtxx
2019-02-02 08:07:50 +08:00
感觉要是能出一个用 glibc 的 alpine 是不是就没那么多破事了
wangxiaoaer
2019-02-02 08:31:47 +08:00
因为除了小,别的毛用没有。尤其是应用依赖一些系统类库的时候。
gamexg
2019-02-02 09:07:51 +08:00
小也没什么用处,
docker 会复用镜像,整个主机所有基于相同版本的 ubuntu 的 docker 容器共用一个基础镜像,那点尺寸就不算什么了。
whileFalse
2019-02-02 09:18:13 +08:00
whileFalse
2019-02-02 09:24:33 +08:00
最核心的问题有两个:
1. 除了小没有别的好处。坏处见楼上
2. Docker 可以共享镜像层。如果你所用的 Docker 环境存储空间很小,且业务比较单一,那么用 alpine 合适。否则,你问问玩 docker 的,谁机器上没个 Ubuntu 啊……

所以大部分官方镜像的 latest 不是基于 alpine 的,不过一般都会提供 alpine 的 tag。个人的业务那就随你便了。我还挺喜欢 alpine 的。
mmtromsb456
2019-02-03 11:24:10 +08:00
@wwqgtxx glibc 本身已经 12M 了 hhh
isCyan
2019-02-08 18:41:36 +08:00
docker hub 里面官方镜像大部分都有 alpine 版本了吧
实在不行我会用 debian-slim 作为基础镜像,比较小巧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/532562

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX