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

大家制作 docker 镜像时操作系统层通常用哪个镜像?

  •  
  •   zhoudaiyu ·
    PRO
    · 2023 年 4 月 11 日 via iPhone · 3502 次点击
    这是一个创建于 1019 天前的主题,其中的信息可能已经有所发展或是发生改变。
    Alpine ,Centos ,Debian ,Centos 还是?
    26 条回复    2023-04-12 10:56:18 +08:00
    0o0O0o0O0o
        1
    0o0O0o0O0o  
       2023 年 4 月 11 日 via iPhone
    debian
    hefish
        2
    hefish  
       2023 年 4 月 11 日
    看情况,以前用 alpine 的多。 最近一阶段图省事,debian 多。
    dangyuluo
        3
    dangyuluo  
       2023 年 4 月 11 日
    小而美就是 alpine ,需要调试就是 ubuntu
    killgfat
        4
    killgfat  
       2023 年 4 月 11 日 via Android
    Alpine
    hingle
        5
    hingle  
       2023 年 4 月 11 日 via iPhone
    debian:stable-slim
    alpine
    Rocketer
        6
    Rocketer  
       2023 年 4 月 11 日 via iPhone
    Ubuntu 这么小众了吗?
    batilo
        7
    batilo  
       2023 年 4 月 11 日 via Android
    alpine
    Andim
        8
    Andim  
       2023 年 4 月 11 日 via iPhone
    @Rocketer 比较少见 alpine 是真多
    hoopan
        9
    hoopan  
       2023 年 4 月 11 日
    debian
    shakaraka
        10
    shakaraka  
    PRO
       2023 年 4 月 11 日
    scratch
    kindjeff
        11
    kindjeff  
       2023 年 4 月 11 日
    只挂一个二进制进去就能跑的就 alpine ,不然就 ubuntu debian
    hzfyjgw
        12
    hzfyjgw  
       2023 年 4 月 11 日
    debian:bullseye-slim 或者 debian:stable-slim
    alpine 会因为 musl 的 libc 库导致 DNS 解析问题,慎用
    Tink
        13
    Tink  
    PRO
       2023 年 4 月 11 日
    Alpine
    0o0O0o0O0o
        14
    0o0O0o0O0o  
       2023 年 4 月 11 日
    如 #12 所说,alpine 偶尔会遇到奇怪的问题,在意大小用 distroless 似乎也可行?我现在是 builder 用 debian bullseye ,部署用 distroless ,偶尔需要调试就挂个 busybox 进去(不知道这个操作合不合理。。。)

    alpine:latest 7.05MB
    gcr.io/distroless/base-nossl-debian11:nonroot 15.1MB
    zhoudaiyu
        15
    zhoudaiyu  
    OP
    PRO
       2023 年 4 月 11 日
    @dangyuluo
    @killgfat
    @hingle
    @batilo
    @Andim
    @kindjeff
    @Tink
    用 Alpine 的兄弟们,你们不觉得这个镜像过于精简了嘛😂有时候生产环境也需要简单的 debug 一下,感觉有点太精简了
    pkoukk
        16
    pkoukk  
       2023 年 4 月 11 日
    debian
    也没比 alpine 大哪儿去,alpine 有时候想进容器看一眼都一头包,啥啥都没有
    connectError
        17
    connectError  
       2023 年 4 月 11 日
    基于 wsl2 的 docker for windows ,作为 Java 程序员来说,主打一个方便
    LemonCoo1
        18
    LemonCoo1  
       2023 年 4 月 11 日
    @connectError 这位大兄弟是不是看错了,这贴聊的是镜像底层操作系统,不是 docker 客户端
    Tink
        19
    Tink  
    PRO
       2023 年 4 月 11 日
    @zhoudaiyu #15 直接弄二进制
    duke807
        20
    duke807  
       2023 年 4 月 11 日 via Android
    应该没有人用 gentoo 吧
    因为用 gentoo 的话,会发现不用 docker 直接用 gentoo 就足够了
    Frankcox
        21
    Frankcox  
       2023 年 4 月 11 日
    debian ,打包后比 apline 大不了太多。
    alpine 会有一些意想不到的问题,参考 https://martinheinz.dev/blog/92
    LuJason
        22
    LuJason  
       2023 年 4 月 11 日
    乌班图
    tin3w5
        23
    tin3w5  
       2023 年 4 月 11 日 via iPhone
    看需求吧!
    开发用什么环境开发,docker 用什么系统。

    自用一般就是 alpine ,如果依赖比较多就直接 centos-stream 的 mini 。

    不过日常也没必要这样折腾啊,既然是 docker ,肯定是封装应用,应用跑在什么环境里就用什么呗!用 Java 跑 official 的 jdk ,用 php 的跑 php 的 image ,甚至可以直接用诸如 Wordpress 、mysql 、Jenkins 之类的应用。反正我是没想明白为什么要从 os 层开始呢?莫非楼主牛到可以封装的 docker image 比官方还精简高效?
    qwertty01
        24
    qwertty01  
       2023 年 4 月 11 日
    慎用 alpine 某个 jdk8 版本会有 jvm 崩溃的问题
    julyclyde
        25
    julyclyde  
       2023 年 4 月 12 日
    基本上也只有 musl 需要考虑了吧
    前一段时间遇到,host 版本比较低( centos7 )运行基于 alpine 的 grafana 镜像的时候,里面 gettimeofday 等一些 syscall 被外面 seccomp 给禁止掉的问题。最后把 grafana 的底换成 ubuntu 就好了

    如果内外都比较新应该没什么问题
    findex
        26
    findex  
       2023 年 4 月 12 日 via iPhone
    话说回来,debian unstable 版本的安全补丁都比 ubuntu lts 打得早,打得勤。alpine 过于精简,分情况。如果你的应用需要很多组建,debian 最好了。centos 基本没用过,那是红帽的试验田,维护的也少了。我没觉得 alpine 和 Debian 的性能差异。
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   2776 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 09:29 · PVG 17:29 · LAX 01:29 · JFK 04:29
    ♥ Do have faith in what you're doing.