• 请不要在回答技术问题时复制粘贴 AI 生成的内容
daijinming
V2EX  ›  程序员

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

  •  
  •   daijinming · Sep 14, 2018 · 7652 views
    This topic created in 2973 days ago, the information mentioned may be changed or developed.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    @likuku docker 还是比虚拟机轻些。我自己就是把 docker 当 vagrant 用,Dockerfile 写好构造命令以后拿来编译软件包。Debian 本身自己就有这个计划,把软件包放进 docker 编译,可以保证编译过程能到处 reproduce,我是参考了他们的做法。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   3012 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 112ms · UTC 11:02 · PVG 19:02 · LAX 03:02 · JFK 06:02
    ♥ Do have faith in what you're doing.