zhoudaiyu
V2EX  ›  问与答

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

  •  
  •   zhoudaiyu ·
    PRO
    · Apr 11, 2023 via iPhone · 3801 views
    This topic created in 1158 days ago, the information mentioned may be changed or developed.
    Alpine ,Centos ,Debian ,Centos 还是?
    26 replies    2023-04-12 10:56:18 +08:00
    0o0O0o0O0o
        1
    0o0O0o0O0o  
       Apr 11, 2023 via iPhone
    debian
    hefish
        2
    hefish  
       Apr 11, 2023
    看情况,以前用 alpine 的多。 最近一阶段图省事,debian 多。
    dangyuluo
        3
    dangyuluo  
       Apr 11, 2023
    小而美就是 alpine ,需要调试就是 ubuntu
    killgfat
        4
    killgfat  
       Apr 11, 2023 via Android
    Alpine
    hingle
        5
    hingle  
       Apr 11, 2023 via iPhone
    debian:stable-slim
    alpine
    Rocketer
        6
    Rocketer  
       Apr 11, 2023 via iPhone
    Ubuntu 这么小众了吗?
    batilo
        7
    batilo  
       Apr 11, 2023 via Android
    alpine
    Andim
        8
    Andim  
       Apr 11, 2023 via iPhone
    @Rocketer 比较少见 alpine 是真多
    hoopan
        9
    hoopan  
       Apr 11, 2023
    debian
    shakaraka
        10
    shakaraka  
    PRO
       Apr 11, 2023
    scratch
    kindjeff
        11
    kindjeff  
       Apr 11, 2023
    只挂一个二进制进去就能跑的就 alpine ,不然就 ubuntu debian
    hzfyjgw
        12
    hzfyjgw  
       Apr 11, 2023
    debian:bullseye-slim 或者 debian:stable-slim
    alpine 会因为 musl 的 libc 库导致 DNS 解析问题,慎用
    Tink
        13
    Tink  
    PRO
       Apr 11, 2023
    Alpine
    0o0O0o0O0o
        14
    0o0O0o0O0o  
       Apr 11, 2023
    如 #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
       Apr 11, 2023
    @dangyuluo
    @killgfat
    @hingle
    @batilo
    @Andim
    @kindjeff
    @Tink
    用 Alpine 的兄弟们,你们不觉得这个镜像过于精简了嘛😂有时候生产环境也需要简单的 debug 一下,感觉有点太精简了
    pkoukk
        16
    pkoukk  
       Apr 11, 2023
    debian
    也没比 alpine 大哪儿去,alpine 有时候想进容器看一眼都一头包,啥啥都没有
    connectError
        17
    connectError  
       Apr 11, 2023
    基于 wsl2 的 docker for windows ,作为 Java 程序员来说,主打一个方便
    LemonCoo1
        18
    LemonCoo1  
       Apr 11, 2023
    @connectError 这位大兄弟是不是看错了,这贴聊的是镜像底层操作系统,不是 docker 客户端
    Tink
        19
    Tink  
    PRO
       Apr 11, 2023
    @zhoudaiyu #15 直接弄二进制
    duke807
        20
    duke807  
       Apr 11, 2023 via Android
    应该没有人用 gentoo 吧
    因为用 gentoo 的话,会发现不用 docker 直接用 gentoo 就足够了
    Frankcox
        21
    Frankcox  
       Apr 11, 2023
    debian ,打包后比 apline 大不了太多。
    alpine 会有一些意想不到的问题,参考 https://martinheinz.dev/blog/92
    LuJason
        22
    LuJason  
       Apr 11, 2023
    乌班图
    tin3w5
        23
    tin3w5  
       Apr 11, 2023 via iPhone
    看需求吧!
    开发用什么环境开发,docker 用什么系统。

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

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

    如果内外都比较新应该没什么问题
    findex
        26
    findex  
       Apr 12, 2023 via iPhone
    话说回来,debian unstable 版本的安全补丁都比 ubuntu lts 打得早,打得勤。alpine 过于精简,分情况。如果你的应用需要很多组建,debian 最好了。centos 基本没用过,那是红帽的试验田,维护的也少了。我没觉得 alpine 和 Debian 的性能差异。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3774 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 110ms · UTC 04:20 · PVG 12:20 · LAX 21:20 · JFK 00:20
    ♥ Do have faith in what you're doing.