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

各位大佬已经开始用 Podman 了吗

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

    查了一下, 大概是在 2021 年 Podman 崭露头角, 现在两三年过去了, 各位大佬有多少使用 Podman 了呢? 我个人感觉可以替代 Docker 但没有一定要替换的动力, 所以暂时没换, 只在自己玩的项目上试了试.

    45 条回复    2024-01-05 11:04:00 +08:00
    wu67
        1
    wu67  
       332 天前
    我只知道, 自己写的 curd 项目, 用它跑不起来, 同样的配置一个字母都没动, docker 能跑起来...
    jlkm2010
        2
    jlkm2010  
       332 天前
    用了
    cndenis
        3
    cndenis  
       332 天前
    这两年都在用 podman, 没啥大问题
    qoo2019
        4
    qoo2019  
       332 天前
    个人观点,没必要为了换而换
    weijancc
        5
    weijancc  
       332 天前
    podman 自称比 docker 节省资源, 但是裸机装 docker 就占了不到 100m 的内存, 完全没有换的动力
    illusory
        6
    illusory  
       332 天前
    https://github.com/containers/podman-compose

    虽然 podman 也有对 compose 的兼容,但好用程度上还是差了很多,最后没办法还是用了 Docker 。
    seers
        7
    seers  
       332 天前 via Android
    nerdctl
    ixiaohei
        8
    ixiaohei  
       332 天前
    @qoo2019 我是被迫换了,docker 给公司发函说营业额和人数超过多少必须购买商业授权;公司暂时无购买计划。所以全部被迫卸载 docker desktop 换 podman ;我为了和公司开发保持一致的工具链所以家里也换了 podman 。现在在学习 podman 中
    hingle
        9
    hingle  
       332 天前
    用过 podman ,不好用,换回 docker rootless 了。
    flmn
        10
    flmn  
       332 天前
    试过 podman desktop 一段,又换回 docker desktop 了
    jjww
        11
    jjww  
       332 天前
    @illusory #6
    好像 podman-compose 是社区项目, 官方并不是很推荐,podman 更推荐使用 deployment.
    Vegetable
        12
    Vegetable  
       332 天前
    不好用
    windows 上挂载麻烦
    docker 能 build 的项目他不一定能 build
    gui 很难用
    BeforeTooLate
        13
    BeforeTooLate  
       332 天前
    @ixiaohei 请问呢下一般多少人会被通知,至于营业额 docker 应该不会查吧?
    zhangyq008
        14
    zhangyq008  
       332 天前
    @ixiaohei #8 只是不能用 docker desktop 吧,可以用 orbstack 替换
    fsdrw08
        15
    fsdrw08  
       332 天前 via Android   ❤️ 4
    已经在用了,podman 比 docker 最大的优势有两点
    1 ,原生支持 rootless ,没有 daemon ,管理起来很省心
    2 ,原生支持 k8s yaml 文件定义 pod, deployment, stateful set, configmap, pvc 等等资源,意味着可以用 helm 来定义这些资源,渲染然后部署
    3 ,cockpit 支持 podman ui ,不需要部署什么 portainer ,部署 cockpit 加 podman 插件就能通过网页管理 podman

    这是我写的 ansible role ,用于部署 rootless podman
    https://github.com/fsdrw08/SoloLab/tree/main/AnsibleWorkShop/runner/project/roles/ansible-podman-rootless-provision

    至于如何在 podman 里部署应用,目前初步想法是用 podman 专用 helm chart+ terraform.

    这里是我写的一些 podman 专用 helm chart

    https://github.com/fsdrw08/helm-charts/tree/gh-pages/charts
    fsdrw08
        16
    fsdrw08  
       332 天前 via Android   ❤️ 2
    @weijancc podman 比 docker 最大的优势是没有守卫进程,节省资源说的是这个点,没了守护进程,但设置容器开机自启动的话,写 systemd 文件即可,podman 提供了 quadlet 来生成 systemd services 文件
    fsdrw08
        17
    fsdrw08  
       332 天前 via Android
    @Vegetable 不知道你是怎么个 build ,目前最简单的方法应该是用 pack build ,dockerfile 都不用写,这工具能直接检测项目结构,自动选择适合的构建方式,我试过用 podman 运行 pack build 也没任何问题
    Andim
        18
    Andim  
       332 天前 via iPhone
    @illusory 把 compose 转换成 podman run 呀有在线转换的
    tudou1514
        19
    tudou1514  
       332 天前
    podman 目前觉得最好用的就是在 docker in docker 的时候,比如 Jenkins 部署到 k8s 环境的时候。docker build 需要挂在 socket ,podman 不需要
    fsdrw08
        20
    fsdrw08  
       332 天前 via Android
    对我来说,目前 podman 最大的问题是 vscode 的 devcontainer 支持不太行,通过 podman 运行带 featuer 的 devcontainer 会报错
    enihcam
        21
    enihcam  
       332 天前
    在容器中构建容器,只能用 Podman ( buildah )。不会有傻子想要开启 DinD 的。
    cheng6563
        22
    cheng6563  
       332 天前
    直接用 nerdctl 了
    superchijinpeng
        23
    superchijinpeng  
       332 天前
    nerdctl 了
    aecra
        24
    aecra  
       332 天前 via Android
    podman 在使用代理时遇到过奇奇怪怪的 bug 后就不用了
    yekern
        25
    yekern  
       332 天前
    线上还是 docker 本地 Mac 用的 orbstack
    chaleaochexist
        26
    chaleaochexist  
       332 天前
    用了 因为公司不让用 docker 要花钱.
    thetbw
        27
    thetbw  
       332 天前
    @ixiaohei 是那个 docker desktop 还是 docker engine,desktop 可以有替代品吧
    Mithril
        28
    Mithril  
       332 天前
    @enihcam 不得不说,DinD 真的是神坑,一层套一层,一坑套一坑。
    Jiki
        29
    Jiki  
       332 天前
    Podman 有 pod 概念,可以很方便的限制一组 container 的 CPU ,Memory 等
    hancai
        30
    hancai  
       332 天前
    本地和生产得保持一直,生产更换的话没动力了
    jasonyang9
        31
    jasonyang9  
       332 天前 via Android
    各位大佬,目前推荐的系统性学 podman 的资料贴几个吧
    BenX
        32
    BenX  
       332 天前
    如果是 macOS 推荐换 OrbStack 更舒心
    lgh
        33
    lgh  
       332 天前 via iPhone
    想试试,然而卡死在 podman machine start 不给我机会用
    ztxcccc
        34
    ztxcccc  
       332 天前
    rancher 好用
    happyxhw101
        35
    happyxhw101  
       332 天前
    @ixiaohei The Docker Engine is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.
    ixiaohei
        36
    ixiaohei  
       332 天前
    @BeforeTooLate 上市公司营业额应该是财报公开了
    julyclyde
        37
    julyclyde  
       331 天前
    @wu67 然后你也没分析原因?
    wu67
        38
    wu67  
       331 天前
    @julyclyde docker 又不是不能用, 管他干嘛. 又不影响我搬砖
    boris1993Jr
        39
    boris1993Jr  
       331 天前 via iPhone
    公司不让用 Docker Desktop ,强制换成 Podman 的
    但是感觉不好用,经常出现前一天 podman machine 还好好的,合上盖一晚上,第二天 podman machine 就没反应了,必须得重启这个 machine 才行
    yanqiyu
        40
    yanqiyu  
       331 天前
    我最早被迫迁移到 podman 是跟着 cgroupv2 一起走的
    之后发现还挺好用就全部搬过来了
    最近觉得 Quadlet 还挺好玩的,把容器管理全部交给了 systemd
    https://docs.podman.io/en/latest/markdown/podman-systemd.unit.5.html

    甚至于 systemctl status 还能正确统计容器的资源占用(网络/磁盘 IO 以及内存/CPU 占用),也更容易处理容器和普通 systemd unit 之间的依赖关系
    jqtmviyu
        41
    jqtmviyu  
       331 天前
    资源和教程还是基于 docker 的多, 多个守护进程, 可以接受.
    主要是 docker compose 用起来很省心.
    Nazz
        42
    Nazz  
       331 天前 via Android
    @ixiaohei 没必要用 desktop ,gui 浪费内存
    zijie0
        43
    zijie0  
       331 天前
    我也用 orbstack ,舒服
    haonse
        44
    haonse  
       331 天前
    不好用,没有守护进程,导致 podman-compose 是残废,是通过 cli 实现的,(DNS 插件甚至需要手动安装)。文档拉胯,资料稀少,半年前给一个客户装过,部署过几个比较复杂的程序,资料少到 chatgpt 都答不出来,只能看源码。再也不想碰。
    haonse
        45
    haonse  
       331 天前
    @haonse 一年前用 podman 命令打过镜像,与 docker build 的差别挺大,我们当时用的大部分 dockerfile 都没法一键迁移,官方所宣称的 podman alias 成 docker 的做法基本行不通。项目规模大了,需要编排的容器多的时候,只能用 shell 脚本创建、连接各种资源,最后用进程管理工具管起来。不是甲方坚决不允许 docker 的情况下,慎重选择。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2574 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 78ms · UTC 06:42 · PVG 14:42 · LAX 22:42 · JFK 01:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.