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

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

  •  
  •   daijinming · 11 天前 · 2732 次点击

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    @likuku docker 还是比虚拟机轻些。我自己就是把 docker 当 vagrant 用,Dockerfile 写好构造命令以后拿来编译软件包。Debian 本身自己就有这个计划,把软件包放进 docker 编译,可以保证编译过程能到处 reproduce,我是参考了他们的做法。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1156 人在线   最高记录 3762   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.1 · 20ms · UTC 17:11 · PVG 01:11 · LAX 10:11 · JFK 13:11
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1