V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
anzu
V2EX  ›  Alpine Linux

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

  •  
  •   anzu · 2019-02-02 00:55:38 +08:00 · 8740 次点击
    这是一个创建于 2140 天前的主题,其中的信息可能已经有所发展或是发生改变。
    ▶ 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 了。

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

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

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

    所以大部分官方镜像的 latest 不是基于 alpine 的,不过一般都会提供 alpine 的 tag。个人的业务那就随你便了。我还挺喜欢 alpine 的。
    mmtromsb456
        8
    mmtromsb456  
       2019-02-03 11:24:10 +08:00 via iPhone
    @wwqgtxx glibc 本身已经 12M 了 hhh
    isCyan
        9
    isCyan  
       2019-02-08 18:41:36 +08:00 via Android
    docker hub 里面官方镜像大部分都有 alpine 版本了吧
    实在不行我会用 debian-slim 作为基础镜像,比较小巧
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5059 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 07:55 · PVG 15:55 · LAX 23:55 · JFK 02:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.