V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
zenfsharp
V2EX  ›  程序员

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

  •  
  •   zenfsharp · 2024-01-04 09:14:12 +08:00 · 9449 次点击
    这是一个创建于 367 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    虽然 podman 也有对 compose 的兼容,但好用程度上还是差了很多,最后没办法还是用了 Docker 。
    seers
        7
    seers  
       2024-01-04 09:37:30 +08:00 via Android
    nerdctl
    ixiaohei
        8
    ixiaohei  
       2024-01-04 09:37:42 +08:00
    @qoo2019 我是被迫换了,docker 给公司发函说营业额和人数超过多少必须购买商业授权;公司暂时无购买计划。所以全部被迫卸载 docker desktop 换 podman ;我为了和公司开发保持一致的工具链所以家里也换了 podman 。现在在学习 podman 中
    hingle
        9
    hingle  
       2024-01-04 09:38:11 +08:00
    用过 podman ,不好用,换回 docker rootless 了。
    flmn
        10
    flmn  
       2024-01-04 09:45:01 +08:00
    试过 podman desktop 一段,又换回 docker desktop 了
    jjww
        11
    jjww  
       2024-01-04 09:45:48 +08:00
    @illusory #6
    好像 podman-compose 是社区项目, 官方并不是很推荐,podman 更推荐使用 deployment.
    Vegetable
        12
    Vegetable  
       2024-01-04 09:46:40 +08:00
    不好用
    windows 上挂载麻烦
    docker 能 build 的项目他不一定能 build
    gui 很难用
    BeforeTooLate
        13
    BeforeTooLate  
       2024-01-04 09:46:49 +08:00
    @ixiaohei 请问呢下一般多少人会被通知,至于营业额 docker 应该不会查吧?
    zhangyq008
        14
    zhangyq008  
       2024-01-04 09:47:44 +08:00
    @ixiaohei #8 只是不能用 docker desktop 吧,可以用 orbstack 替换
    fsdrw08
        15
    fsdrw08  
       2024-01-04 09:49:10 +08:00 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  
       2024-01-04 09:54:08 +08:00 via Android   ❤️ 2
    @weijancc podman 比 docker 最大的优势是没有守卫进程,节省资源说的是这个点,没了守护进程,但设置容器开机自启动的话,写 systemd 文件即可,podman 提供了 quadlet 来生成 systemd services 文件
    fsdrw08
        17
    fsdrw08  
       2024-01-04 09:57:35 +08:00 via Android
    @Vegetable 不知道你是怎么个 build ,目前最简单的方法应该是用 pack build ,dockerfile 都不用写,这工具能直接检测项目结构,自动选择适合的构建方式,我试过用 podman 运行 pack build 也没任何问题
    Andim
        18
    Andim  
       2024-01-04 10:02:35 +08:00 via iPhone
    @illusory 把 compose 转换成 podman run 呀有在线转换的
    tudou1514
        19
    tudou1514  
       2024-01-04 10:05:17 +08:00
    podman 目前觉得最好用的就是在 docker in docker 的时候,比如 Jenkins 部署到 k8s 环境的时候。docker build 需要挂在 socket ,podman 不需要
    fsdrw08
        20
    fsdrw08  
       2024-01-04 10:09:36 +08:00 via Android
    对我来说,目前 podman 最大的问题是 vscode 的 devcontainer 支持不太行,通过 podman 运行带 featuer 的 devcontainer 会报错
    enihcam
        21
    enihcam  
       2024-01-04 10:10:43 +08:00
    在容器中构建容器,只能用 Podman ( buildah )。不会有傻子想要开启 DinD 的。
    cheng6563
        22
    cheng6563  
       2024-01-04 10:10:59 +08:00
    直接用 nerdctl 了
    superchijinpeng
        23
    superchijinpeng  
       2024-01-04 10:12:56 +08:00
    nerdctl 了
    aecra
        24
    aecra  
       2024-01-04 10:17:24 +08:00 via Android
    podman 在使用代理时遇到过奇奇怪怪的 bug 后就不用了
    yekern
        25
    yekern  
       2024-01-04 10:33:12 +08:00
    线上还是 docker 本地 Mac 用的 orbstack
    chaleaochexist
        26
    chaleaochexist  
       2024-01-04 10:56:09 +08:00
    用了 因为公司不让用 docker 要花钱.
    thetbw
        27
    thetbw  
       2024-01-04 11:23:25 +08:00
    @ixiaohei 是那个 docker desktop 还是 docker engine,desktop 可以有替代品吧
    Mithril
        28
    Mithril  
       2024-01-04 11:25:25 +08:00
    @enihcam 不得不说,DinD 真的是神坑,一层套一层,一坑套一坑。
    Jiki
        29
    Jiki  
       2024-01-04 11:58:31 +08:00
    Podman 有 pod 概念,可以很方便的限制一组 container 的 CPU ,Memory 等
    hancai
        30
    hancai  
       2024-01-04 12:08:07 +08:00
    本地和生产得保持一直,生产更换的话没动力了
    jasonyang9
        31
    jasonyang9  
       2024-01-04 12:59:05 +08:00 via Android
    各位大佬,目前推荐的系统性学 podman 的资料贴几个吧
    BenX
        32
    BenX  
       2024-01-04 13:21:07 +08:00
    如果是 macOS 推荐换 OrbStack 更舒心
    lgh
        33
    lgh  
       2024-01-04 13:25:45 +08:00 via iPhone
    想试试,然而卡死在 podman machine start 不给我机会用
    ztxcccc
        34
    ztxcccc  
       2024-01-04 13:27:25 +08:00
    rancher 好用
    happyxhw101
        35
    happyxhw101  
       2024-01-04 14:03:07 +08:00
    @ixiaohei The Docker Engine is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.
    ixiaohei
        36
    ixiaohei  
       2024-01-04 14:05:49 +08:00
    @BeforeTooLate 上市公司营业额应该是财报公开了
    julyclyde
        37
    julyclyde  
       2024-01-04 16:58:09 +08:00
    @wu67 然后你也没分析原因?
    wu67
        38
    wu67  
       2024-01-04 17:08:35 +08:00
    @julyclyde docker 又不是不能用, 管他干嘛. 又不影响我搬砖
    boris1993Jr
        39
    boris1993Jr  
       2024-01-04 17:22:46 +08:00 via iPhone
    公司不让用 Docker Desktop ,强制换成 Podman 的
    但是感觉不好用,经常出现前一天 podman machine 还好好的,合上盖一晚上,第二天 podman machine 就没反应了,必须得重启这个 machine 才行
    yanqiyu
        40
    yanqiyu  
       2024-01-04 20:05:37 +08:00
    我最早被迫迁移到 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  
       2024-01-04 23:32:07 +08:00
    资源和教程还是基于 docker 的多, 多个守护进程, 可以接受.
    主要是 docker compose 用起来很省心.
    Nazz
        42
    Nazz  
       2024-01-04 23:41:11 +08:00 via Android
    @ixiaohei 没必要用 desktop ,gui 浪费内存
    zijie0
        43
    zijie0  
       2024-01-05 10:10:44 +08:00
    我也用 orbstack ,舒服
    haonse
        44
    haonse  
       2024-01-05 11:00:51 +08:00
    不好用,没有守护进程,导致 podman-compose 是残废,是通过 cli 实现的,(DNS 插件甚至需要手动安装)。文档拉胯,资料稀少,半年前给一个客户装过,部署过几个比较复杂的程序,资料少到 chatgpt 都答不出来,只能看源码。再也不想碰。
    haonse
        45
    haonse  
       2024-01-05 11:04:00 +08:00
    @haonse 一年前用 podman 命令打过镜像,与 docker build 的差别挺大,我们当时用的大部分 dockerfile 都没法一键迁移,官方所宣称的 podman alias 成 docker 的做法基本行不通。项目规模大了,需要编排的容器多的时候,只能用 shell 脚本创建、连接各种资源,最后用进程管理工具管起来。不是甲方坚决不允许 docker 的情况下,慎重选择。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2594 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 05:56 · PVG 13:56 · LAX 21:56 · JFK 00:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.