基于容器运行程序使用不同的基础镜像有什么本质上的区别吗 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
dzdh
V2EX    Docker

基于容器运行程序使用不同的基础镜像有什么本质上的区别吗

  •  
  •   dzdh 2022-12-19 14:09:42 +08:00 1732 次点击
    这是一个创建于 1101 天前的主题,其中的信息可能已经有所发展或是发生改变。

    已知内核是和宿主机共用。那那些依托于高内核或特定内核版本才支持的 OS 层的特性就不用考虑也不用想了这没得说。

    疑问是 比如像 java 程序,依赖的 jdk 版本比如都是 11, 那 ubuntu 和 11jdk 和 rhel 的 11jdk 一样么?比如在安全和稳定性上。记得有过暴什么漏洞 rhel 没发布补丁,ubuntu 发布了,是因为 rhel 在发行 11jdk 之初就做过修改么?规避了?一句话就是 rhel 的部分软件包是有做过修改后才发布的 rpm ?

    再比如 libc 就不是和内核公用的了吧?有没有啥说法是 rhel 的 ubi 镜像使用 rhel 的 repo 然后某些软件包可能更安全稳定的?

    比如要搞 tensorflow ,那 docker 里就跑 ubuntu 。要搞 java 的那就用 rhel-ubi 。要搞 php 那就用 debian ?

    4 条回复    2022-12-20 09:47:05 +08:00
    julyclyde
        1
    julyclyde  
       2022-12-19 17:55:15 +08:00
    你问的这些其实和泛泛的镜像这个词没什么关系啊
    和里面的内容有关啊
    dzdh
        2
    dzdh  
    OP
       2022-12-19 20:16:56 +08:00
    @julyclyde

    因为运行不同的程序一定要基于某一个 base 镜像,直接基于 scratch 或者 busybox 自己编译 jdk 显然不现实。

    那现成可选的无非就是几大发行版,譬如 rhel/ubuntu/debian/opensuse 等。用到这些发行版作为 base image 的同时,势必要依赖其的包管理器,也势必依赖自带的包内容和质量。

    再加上软件依赖如 tensorflow 官方软件包支持 Ubuntu 、Windows 和 macOS 。那就必然只能选择 ubuntu 作为 base image 。

    所以问题是,针对不同的程序(按语言分 java/go/rust/php/python 等等),是否存在某个发行版作为 BaseImage 更契合的说法呢?

    再比如是否 rhel/ubuntu/debian/opensuse 在某些方向上会更加专注和擅长?比如 rhel 可能更专注 java 这种所谓企业级语言的基础环境包的更新和安全维护所以 java 系尽量选 rhel ,ubuntu 在 python 方面更频繁的更新和安全维护所以 python 程序就选 ubuntu (只是假设)?

    存在如上这种说法吗?
    wangwcq
        3
    wangwcq  
       2022-12-19 21:30:53 +08:00   1
    不同的 base image 最明显的体验就是系统大小和包管理器吧。比如 nodejs ,如果就一个 node 的服务就选 alpine 的 image ,因为小,编译快传输快。如果复杂一,一个服务节点上还需要安装 nginx ,tensorflow ,python ,imagemagik ,那就要上 ubuntu 的 image 了。然后有的时候还要调整时区,或者调用系统的 shell ,每个系统的命令写法都不太一样,业务系统的逻辑就和操作系统强关联了。各大语言在 docker hub 的官方 image 都尽可能给了不同的操作系统也是说明都能支持,同时考虑到了各自的历史习惯和包管理器的依赖吧
    julyclyde
        4
    julyclyde  
       2022-12-20 09:47:05 +08:00
    @dzdh 并不一定要基于一个
    想想世界上第一个镜像是基于谁呢

    一般容器的生命周期就几天,所以你其实不必关心镜像 base 里那个操作系统的发展,只需要关注“这个版本的镜像”能否满足当下的需求即可
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3179 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 38ms UTC 10:58 PVG 18:58 LAX 02:58 JFK 05:58
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86