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

什么说编写 Dockerfile 的时候一般继承 debian,而不是 centos, Linux 入门的时候都建议采用 centos?

  •  
  •   daijinming · 2018-09-14 10:48:20 +08:00 · 6618 次点击
    这是一个创建于 2258 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Github 上很多的示例 Dockerfile 都是 FROM debian,而不是 FROM centos,网上还有人建议编写 Dockerfile 最好是 FROM debian,大侠你怎么说

    38 条回复    2018-09-15 08:06:24 +08:00
    Muninn
        1
    Muninn  
       2018-09-14 11:12:27 +08:00
    centos 现在主要是偏传统企业的,为了兼容 redhat 可以来回切。

    互联网公司大多喜欢 debian 呀。激进一点的用 ubuntu server。

    我感觉应该就是文化问题。
    7654
        2
    7654  
       2018-09-14 11:15:05 +08:00
    debian 及其衍生系统多,覆盖面广吧
    二进制包提供 deb 格式也是最多的
    leconio
        3
    leconio  
       2018-09-14 11:16:38 +08:00 via Android
    小机器用过几次 debian,程序不断重启,换了 centos 就没事儿了。之后就再没用过 debian 当生产机。
    iwtbauh
        4
    iwtbauh  
       2018-09-14 11:16:45 +08:00 via Android
    from 万年不更新的 CentOS 然后发现 lib 太旧还得自己再编译 lib 进去吗。
    ETiV
        5
    ETiV  
       2018-09-14 11:17:32 +08:00 via iPhone
    apt 上的包新一些
    debian docker 镜像也小

    但其实问题不大,
    不是还有好多 FROM alpine 的吗
    iwtbauh
        6
    iwtbauh  
       2018-09-14 11:17:36 +08:00 via Android
    @leconio 服务器全部用 Debian testing 的路过
    whileFalse
        7
    whileFalse  
       2018-09-14 11:19:09 +08:00
    我以前 from ubuntu,现在 from alpine。能跑就行怕啥。
    gui
        8
    gui  
       2018-09-14 11:21:21 +08:00
    我也用 alpine,很轻
    wenzhoou
        9
    wenzhoou  
       2018-09-14 11:23:07 +08:00 via Android
    我也喜欢 alpine。希望 alpine 上东西越来越多。
    Cabana
        10
    Cabana  
       2018-09-14 11:23:11 +08:00
    alpine 才几十 M
    Cabana
        11
    Cabana  
       2018-09-14 11:24:01 +08:00
    @wenzhoou 你这不是自相矛盾嘛,alpine 就是应为没乱七八糟的东西才这么小的
    zhengxiaowai
        12
    zhengxiaowai  
       2018-09-14 11:28:21 +08:00
    这个根据实际情况来,ubuntu、debain、centos 都是可以,取决于熟悉哪个

    有时候也会用 alpine,但是有些程序跑在 alpine 上性能有损耗,所以要测一测看看
    feverzsj
        13
    feverzsj  
       2018-09-14 11:30:08 +08:00
    难道不应该 FROM scratch 吗?
    yanaraika
        14
    yanaraika  
       2018-09-14 11:42:38 +08:00
    debian 是目前最好的选择。centos 包太旧,alpine 的 musl libc 比起 glibc 还是会有各种各样的问题,而且默认没有 ca-certificates
    kernel
        15
    kernel  
       2018-09-14 11:51:50 +08:00
    刚入门 linux 服务器我也用 centos,后来发现这不是和自已过不去嘛,就切 debian 了
    至于和 debian 比稳定性那是玄学
    passerbytiny
        16
    passerbytiny  
       2018-09-14 11:52:00 +08:00
    debian 最小(换句话说不适合日常使用)。

    镜像的各层,能小就小,这是编写 Dockerfile 时候的第一要求。
    zhzer
        17
    zhzer  
       2018-09-14 11:53:47 +08:00
    debian 小
    Docker 的宗旨就是方便,那肯定选最小且够用的
    my101du
        18
    my101du  
       2018-09-14 12:00:38 +08:00
    用过 alpine 的 node 镜像,后来发现要增加一个图片处理有关的功能,编译了 c++等一大堆库后,体积和 debian 的没设么差别。

    还有 alpine php7 的镜像,新增扩展也是运行 apk 命令时各种出问题。

    体积是小了,但是适用于不怎么需要定制的情况。 不差那点磁盘和网络速度的话,还是用完整一点的 linux 吧。
    pony279
        19
    pony279  
       2018-09-14 12:02:11 +08:00
    debian 的 fork 特别多,说明 debian 可定制性很强,而且本身也比较小,软件生态很全(比起 alpine )

    其实初学者是比较推荐 ubuntu 的(大概是因为 ubuntu 用户多吧,其实我也不清楚当年的原因了)

    ubuntu 基于 debian testing 自己做了一些事情,具体是啥我也不清楚,所以我更倾向于 debian,对我来说更加简单可控
    likuku
        20
    likuku  
       2018-09-14 12:02:54 +08:00
    debian 小巧不带 XWindow 等一大堆东西,快捷方便。

    其次,docker 原本开发团队就是在 Ubuntu 环境开发测试,第一优先平台也是 Ubuntu,
    作为 Ubuntu 的基础,debian 用来制作 image 也是很自然的。

    centos/redhat 嘛...国内 /简体中文 大环境下,因为大规模进入中国大众 /大中学生 视野早,
    当年多少小白入门时以为 redhat 就是 linux 的全部了好嘛~

    那么,redhat/centos 的各种非官方简体中文资料占比就是最大,所谓非官方 /民间社区 就相对更早得以发展壮大,

    民间技术支持基础就更大,既然大家相对更熟悉它,那么之后爱好者们进入工作,进入职业社会,那么很大几率就是沿用熟悉的 redhat/centos,
    用久了,自然换起来就很麻烦...尤其已经跑了好多年的业务生产系统。
    likuku
        21
    likuku  
       2018-09-14 12:04:09 +08:00
    @my101du [体积是小了,但是适用于不怎么需要定制的情况。 不差那点磁盘和网络速度的话,还是用完整一点的 linux 吧]

    那么重型的用法,那是把 docker 当虚拟机使唤了...
    julyclyde
        22
    julyclyde  
       2018-09-14 12:55:03 +08:00
    容器用 alpine 的比较多; debian 的很少见
    推荐 centos 因为不思考就推荐了
    presoul
        23
    presoul  
       2018-09-14 13:01:44 +08:00 via Android
    @feverzsj 用这个没 shell 吧 我记得好像...
    newtype0092
        24
    newtype0092  
       2018-09-14 14:40:38 +08:00
    @Cabana #11 人家明显是说基于 alpine 的第三方镜像越多越好啊。。。
    wenzhoou
        25
    wenzhoou  
       2018-09-14 15:50:54 +08:00 via Android
    @Cabana 我说的意思是 alpine 不变的前提下,提供的 pkg 越来越多。解决类似 18 楼提出的问题。
    zbinlin
        26
    zbinlin  
       2018-09-14 16:08:45 +08:00
    centos 开箱默认的安全策略限制地比较严格,所以入门的风险小点。但 docker 是跑在宿主机上了,也就无所谓了。
    codehz
        27
    codehz  
       2018-09-14 16:42:02 +08:00
    我都是直接写 FROM base/archlinux 来着的(
    feverzsj
        28
    feverzsj  
       2018-09-14 16:54:46 +08:00
    @presoul 容器要 shell 干什么
    lrh3321
        29
    lrh3321  
       2018-09-14 17:11:48 +08:00
    alpine 和 debian 的占大多数吧,一个体积小,debian 系的东西用的人多。反正我们的服务器是 debian 的。
    iwishing
        30
    iwishing  
       2018-09-14 17:15:05 +08:00
    应该追求 FROM scrach 吧?
    eoo
        31
    eoo  
       2018-09-14 20:26:27 +08:00
    一直 debian
    realpg
        32
    realpg  
       2018-09-14 20:35:45 +08:00
    因为 写那些建议的 都是些 RH 传承的旧思维的人
    guyeu
        33
    guyeu  
       2018-09-14 21:13:55 +08:00
    看了一串 没有 arch 吗
    Taojun0714
        34
    Taojun0714  
       2018-09-14 21:27:39 +08:00
    互联网公司当然用 debian 居多了,更新及时,安装包多,比 ubuntu 干净
    xuanbg
        35
    xuanbg  
       2018-09-14 21:31:54 +08:00
    没有用乌班图的吗?
    Sharuru
        36
    Sharuru  
       2018-09-14 21:37:42 +08:00
    一般现在比较流行 Alpine
    较多的还是 Debian 和 Ubuntu,没记错,Ubuntu 甚至专门准备了一个给 Docker 用的 base image

    至于 CentOS,也就国内喜欢鼓吹稳定。具体原因不再赘述。
    msg7086
        37
    msg7086  
       2018-09-15 08:01:00 +08:00
    CentOS 是一个企业级操作系统。如果你打算以后加入大公司,成为运维团队的一员,协助维护几十几百台服务器的,以及后期可能会转去 RHEL 的,这样的选择很好。
    自己个人使用为什么要用 CentOS 呢,你每个月会花多少个小时来打理你的系统呢,会自己写脚本然后管理自己编译打包的软件包吗,会跟着 RHEL 的安全更新公告然后半夜 3 点起来扒 0day 更新吗?如果不会,那么为什么不去用 Debian 呢。
    msg7086
        38
    msg7086  
       2018-09-15 08:06:24 +08:00
    @pony279 Ubuntu 是基于 Debian sid,也就是 unstable 分支,不是 testing 哦。

    @likuku docker 还是比虚拟机轻些。我自己就是把 docker 当 vagrant 用,Dockerfile 写好构造命令以后拿来编译软件包。Debian 本身自己就有这个计划,把软件包放进 docker 编译,可以保证编译过程能到处 reproduce,我是参考了他们的做法。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3488 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 11:34 · PVG 19:34 · LAX 03:34 · JFK 06:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.