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

吐槽容器化工具 podman

  •  
  •   byzf · 42 天前 · 1155 次点击
    这是一个创建于 42 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近反向感受了一波,啥叫程序员不愿意接受新事物,因为新东西是真的坑。下面发表一些不成熟的碎碎念,先声明全是的负能量。

    podman 以前挺多文章,就是说 docker 这个不行,那个不行,所以开发 podman,言外之意就是 docker 和 redhat 公司不对付,领导要下面编一点 docker 的缺点出来,把生态搞过来,仗着内核比较熟悉,开始挖 docker 的墙角。

    podman 这工具出了也几年了,最近看了一下,发现还一直在活跃开发,文档也全了,功能也多了,yum 也能装了,github一万多星,redhat 的手册里也加入了。我一寻思,这是不是就代表着能用了? 然后发现,并不是。

    • 优点之一,podman 有 pod,用 k8s 的语法,体验了一下,和 docker compose 这种社区自产自销的工具,易用性差了千八百倍,用这个是和自己过不去。

    • 优点之二,podman 可以 rootless 。在 podman 起步的时候,docker 似乎永远没有支持 rootless 的想法,现在 docker 也支持了,没啥区别。

    • 优点之三,没有 docker daemon,轻量。这个也没感受出来,docker daemon 也就监听个 sock,没占很多资源。docker 包确实大,但 nodejs 一个包一百多兆都有人承受,这点性能不算啥。

    • 优点之四,一键生成 k8s pod 文件,一键生成 systemd unit,这个使用下来 还不如手写

    podman 优点都飘飘欲坠,可有可无,然后是缺点都很扎实。

    • 一个是性能差,编译慢,启动也慢,大家都用 runc 为啥性能会差呢?目测了一遍 issues,一个是 rootless 和 rootful 环境不一样,还有一些优化上的 BUG 。虽说我没测过,但只要是个人,应该怎么样都感觉不出来 docker 会比这玩意儿慢。

    • 另一方面,podman 有些 BUG 会很离谱。比如 服务跑的好好的,podman ps 一下是空的,人都傻了。还有花样报错,今天找不到谁的 network 配置了,明天找不到哪个被删除的 container 了,可以说层出不穷。

    • 然后是 rootless container 之间的网络通信,根本没有什么能通信的方式,全靠开端口 publish,走 localhost,那还隔离啥?放 host 不好吗?好在我现在用的比较轻量,也没到端口到处撞的程度。

    • 这都不是最可怕的,上面这些咬咬牙也都过去了,总体 alias docker=podman 把坑坑洼洼都过去了没啥问题,关键是某些镜像,我目测是目测不出来什么不规范的地方,但 用 podman 和 docker 的表现不一致,装个镜像,挂载目录死活挂载不上。正常人都拿 docker 跑,谁跟你拿 podman 去跑,运行结果不一致,真的头都痛。

    合着我是给人测 bug 来了,这玩意儿居然给我用出了早期 javascript 里各种奇技淫巧的感觉。喷完了,用 docker 。

    15 条回复    2021-09-18 13:47:55 +08:00
    long2ice
        1
    long2ice   42 天前
    之前试用了一下果断弃了
    sagaxu
        2
    sagaxu   42 天前   ❤️ 1
    byzf
        3
    byzf   42 天前
    @long2ice 我之前试用了一下果断放弃,然后最近又 tm 不知道为啥又去试用了一下,可能是贱吧。
    cheng6563
        4
    cheng6563   41 天前
    只看中他的 rootless,用来在 CI 里跑各种任务用,就没打算让他运行什么正经服务。
    swulling
        5
    swulling   41 天前 via iPhone
    其实都是自己的服务,没必要 rootless,徒增烦恼。

    那种需要多租户甚至开放给外部的才需要。
    plko345
        6
    plko345   41 天前 via Android
    我正准备试试呢,docker 的 daemon 也恶心
    des
        7
    des   41 天前
    @cheng6563 我也是冲着 rootless 去的,结果发现很难用,各种莫名其妙的问题
    lancelock
        8
    lancelock   41 天前
    我也试了一下 rootless,要额外配置,跑个服务经常有预期外的表现,找原因找的头痛,还是用 docker 得了
    byzf
        9
    byzf   41 天前
    @swulling 怕中招啊。podman 如果能稳定的把 rootless 跑起来,跑 dind 之类的就彻底安全了。
    superhack
        10
    superhack   41 天前
    赞同你,生产上能替代 docker 还早着呢,目测一年半年够呛
    0312birdzhang
        11
    0312birdzhang   40 天前 via iPhone
    哈哈哈,给大家避坑了
    zeromake
        12
    zeromake   40 天前 via Android
    我觉得还不如用 k3s,搞个正统的 k8s 环境好用,podman bug 都很奇怪而且都是正常使用会出现,复现率很高,我在公司用的 vm 里单机的 k3s 都稳的一批,都没出现过什么问题。
    ragnaroks
        13
    ragnaroks   40 天前
    我不用 podman 的原因是它没有 daemon ;
    限制处理器、内存、用户是 systemd 本身就能做的事情,和容器最大的区别就是文件系统。
    julyclyde
        14
    julyclyde   36 天前
    @ragnaroks 既然 systemd 都能做,你为什么还特地要求一个 daemon 呢?
    ragnaroks
        15
    ragnaroks   36 天前
    @julyclyde daemon 被用于远程集中式管理
    关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2158 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 15:29 · PVG 23:29 · LAX 08:29 · JFK 11:29
    ♥ Do have faith in what you're doing.