▶ 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 了。
1
mmtromsb456 2019-02-02 01:20:03 +08:00 1
alpine 和 debian/ubuntu 等基础镜像是有本质区别的.除了体积以外.后者使用的 libc 是 glibc.alpine 是 musl-libc.移植程序的时候要考虑这两者兼容上的问题.
|
2
yyfearth 2019-02-02 02:52:55 +08:00 via iPhone 1
接楼上 而且两者执行效率也不同
如果直接把用为 libc 编译的二进制 直接扔到 alphine 上面运行 兼容性和运行效率会比 Debian 或者 Centos 这些常用的差 除非专门给 alpine 编译一个版本 另外 这些常用的环境 在工具和安装配置上 也比 alpine 成熟和方便 大家也都更熟悉 |
3
wwqgtxx 2019-02-02 08:07:50 +08:00 via iPhone 1
感觉要是能出一个用 glibc 的 alpine 是不是就没那么多破事了
|
4
wangxiaoaer 2019-02-02 08:31:47 +08:00 via Android 1
因为除了小,别的毛用没有。尤其是应用依赖一些系统类库的时候。
|
5
gamexg 2019-02-02 09:07:51 +08:00 via Android 1
小也没什么用处,
docker 会复用镜像,整个主机所有基于相同版本的 ubuntu 的 docker 容器共用一个基础镜像,那点尺寸就不算什么了。 |
6
whileFalse 2019-02-02 09:18:13 +08:00
|
7
whileFalse 2019-02-02 09:24:33 +08:00 1
最核心的问题有两个:
1. 除了小没有别的好处。坏处见楼上 2. Docker 可以共享镜像层。如果你所用的 Docker 环境存储空间很小,且业务比较单一,那么用 alpine 合适。否则,你问问玩 docker 的,谁机器上没个 Ubuntu 啊…… 所以大部分官方镜像的 latest 不是基于 alpine 的,不过一般都会提供 alpine 的 tag。个人的业务那就随你便了。我还挺喜欢 alpine 的。 |
8
mmtromsb456 2019-02-03 11:24:10 +08:00 via iPhone
@wwqgtxx glibc 本身已经 12M 了 hhh
|
9
isCyan 2019-02-08 18:41:36 +08:00 via Android
docker hub 里面官方镜像大部分都有 alpine 版本了吧
实在不行我会用 debian-slim 作为基础镜像,比较小巧 |