Recommended Services
Amazon Web Services
LeanCloud
New Relic
ClearDB
DejavuMoe
V2EX  ›  云计算

2026 年,选择 Podman 还是 Docker

  •  2
     
  •   DejavuMoe · Apr 24 · 8009 views
    This topic created in 42 days ago, the information mentioned may be changed or developed.

    Docker 对于大多数自托管应用支持的比较好,个人使用也基本熟悉了。 Podman 的无守护进程和默认的 Rootless 很好用,在服务器上测试部署了一个服务,感觉还挺好的。

    73 replies    2026-06-04 15:20:03 +08:00
    yazinnnn0
        1
    yazinnnn0  
       Apr 24   ❤️ 1
    都用.jpg, 优先使用 podman, podman 处理不了的情况换 docker
    Gilfoyle26
        2
    Gilfoyle26  
       Apr 24   ❤️ 1
    都不选,用 k8s 不好么
    itechify
        3
    itechify  
    PRO
       Apr 24   ❤️ 1
    podman 没用过🥹
    DejavuMoe
        4
    DejavuMoe  
    OP
       Apr 24
    @yazinnnn0 一般来说,同样的容器,应该都能处理吧,我对 Podman 还不太了解,感觉用起来差不多,但是 podman-compose 我看不是官方推荐的,感觉还得学下 Quadlet……
    DejavuMoe
        5
    DejavuMoe  
    OP
       Apr 24
    @Gilfoyle26 先用用 Podman ,了解下 pod 的概念,后面有需求再 K8s(应该优先考虑 k3s)
    triptipstop
        6
    triptipstop  
       Apr 24   ❤️ 1
    主要是镜像都被墙了 很恼火
    DejavuMoe
        7
    DejavuMoe  
    OP
       Apr 24
    @itechify 值得试试,Docker 守护进程有时候更新重启会导致部分容器错误,需要手动重启,虽然感觉是那个容器本身的问题,而且 docker rootless 好麻烦

    @triptipstop 国内云现在还提供内网容器 Registry 吗?我主要还是国外 VPS 用得多,便宜点。
    lujiaosama
        8
    lujiaosama  
       Apr 24   ❤️ 1
    @Gilfoyle26 太重了。总不能 2C4G 的小鸡也上个 K8S 吧。
    donaldturinglee
        9
    donaldturinglee  
       Apr 24 via iPhone
    都差不多,你把 podman alias 为 docker 也是一样的用法,喜欢哪个用哪个就行了
    seers
        10
    seers  
       Apr 24 via iPhone
    containerd 和 nerdctl 不挺好,完全是 k8s 底层
    me262
        11
    me262  
       Apr 24
    podman quadlet 还是香
    takanashisakura
        12
    takanashisakura  
       Apr 24 via iPhone
    自己玩还是 docker 方便吧
    有更高追求可以熟悉熟悉 podman
    guanzhangzhang
        13
    guanzhangzhang  
       Apr 24   ❤️ 1
    给 podman 贡献过 39 个 pr ,如果你单机并且希望玩出一些花和 rootless 啥的,可以选 podman ,目前 podman 的主要代码贡献者都是 red hat 公司的人维护,不会跑路,而且对贡献很友好,谷歌的一些项目你去提 pr 鸟都不鸟你。
    如果不选 podman ,containerd 的话没-p 端口映射啥的来着,以及构建镜像很麻烦,这方面 docker 则是一体自带的
    guanzhangzhang
        14
    guanzhangzhang  
       Apr 24
    @guanzhangzhang podman 还支持 podman machine 啥的,很多独有的功能,在做某些 vm 自动场景的话,这个功能可能会非常有帮助
    zrlhk
        15
    zrlhk  
       Apr 24
    我用的是 incus
    MimicOctopus
        16
    MimicOctopus  
       Apr 24 via Android
    @zrlhk 个人用还是项目也用,感觉如何
    flyqie
        17
    flyqie  
       Apr 24   ❤️ 1
    个人觉得目前 docker 的使用体验更舒适
    hamsterbase
        18
    hamsterbase  
       Apr 24
    利益说明: 非广告,非本人项目,我只是用户

    部署我用 https://caprover.com/ (底层还是 docker
    我看中的点

    1. 开源免费
    2. 可视化界面管理容器,自动配置 nginx , https
    3. 有 cli. 我一般用 caprover deploy 直接发布,他会本地打一个压缩包,然后在服务器上构建 docker image
    zed1018
        19
    zed1018  
       Apr 24
    如果是 linux 上我还是首选 docker-ce
    wniming
        20
    wniming  
       Apr 24 via Android
    podman quadlet
    DejavuMoe
        21
    DejavuMoe  
    OP
       Apr 24
    @wniming 之前都是 docker compose YAML ,podman 的 quadlet 好迁移吗?
    @guanzhangzhang 厉害了大佬!对,我主要是单机,目前还没有 Kubernetes 相关的部署,好像 Podman 熟练了学习会方便一点
    mingtdlb
        22
    mingtdlb  
       Apr 24
    @lujiaosama #8 上 k3s ,哈哈

    我感觉这俩都可以用,podman 唯一有点方便的就是代理比较方便 export 一下,拉镜像方便,相比 docker 就麻烦一些
    jetsung
        23
    jetsung  
       Apr 24
    不玩 k8s 等工具,优先 docker 吧。
    guanzhangzhang
        24
    guanzhangzhang  
       Apr 24
    @DejavuMoe #21 quadlet 我印象里最近两年开始发力,bug 很少了,可以用下看看
    DejavuMoe
        25
    DejavuMoe  
    OP
       Apr 24
    wniming
        26
    wniming  
       Apr 24
    @DejavuMoe #21 如果你指的是在 2 台机之间迁移,直接复制配置文件就行,比如把下面这个文件复制到其他机器:
    /home/d/.config/containers/systemd/syncthing.container
    然后就可以直接在其他机器上:
    systemctl --user start syncthing
    lozzow
        27
    lozzow  
       Apr 25
    不知道是我 podman 版本太老了还是咋的,他的网络经常出问题
    FlashEcho
        28
    FlashEcho  
       Apr 25
    生态还是 Docker 比较好,很多服务默认提供 Docker Compose 文件,至少你在 Docker Compose 场景下是一定能跑起来的。自己后续改的稍微复杂一点,加网络什么的也基本不会出问题,切换到 Podman 就不太好说了
    zhangyoufu
        29
    zhangyoufu  
       Apr 25 via iPhone
    长期使用 nerdctl ,兼容大部分 docker 命令,可 alias docker=nerdctl
    最大的优点是可以分别指定不同 registry 走不同的 mirror
    cheng6563
        30
    cheng6563  
       Apr 25
    无守护进程到底有啥用?并发拉个镜像都能冲突的。
    alex177027
        31
    alex177027  
       Apr 25 via Android
    一般就用 docker
    podman 在我看来就是上不去下不来
    往上直接 k3s
    satoru
        32
    satoru  
       Apr 25
    macOS 上我用 OrbStack
    直接 brew install orbstack 就能装
    兼容 docker 命令,容器跑起来后可以直接用形如 container-name.orb.local 的本地域名访问
    Geon97
        33
    Geon97  
       Apr 25
    个人使用 docker or K3s
    liuzimin
        34
    liuzimin  
       Apr 25
    赞同楼上,我也觉得 docker 主要胜在生态吧。很多项目的 Installation 文档默认带 docker 方案,好像没怎么见 podman 的。
    zdl0929
        35
    zdl0929  
       Apr 25
    自用,用 colima
    version
        36
    version  
       Apr 25
    懒得折腾..docker 就好呢..现在 ai 管理 dockercompose 配置文件上 git codex 自动推送 git cicd 自动部署
    我现在都是阿里云 cli 腾讯云 cli 让 ai 自己搞.配置 dns 配置各种.还不错
    e3c78a97e0f8
        37
    e3c78a97e0f8  
       Apr 25
    我们公司不让用 docker ,只让用 podman ,据说后者安全性更好,于是我个人电脑上也只用 podman
    teaguexiao
        38
    teaguexiao  
       Apr 25
    自托管个人项目用 Docker Compose 没问题,生态和教程多。企业上云的话 Kubernetes + containerd 已经绕开 Docker 了,单机部署够用再考虑进阶。
    ragnaroks
        39
    ragnaroks  
       Apr 25
    quadlet 出来之前还能互相比比,现在 docker 除了 hub.docker.com 没有任何价值
    DejavuMoe
        40
    DejavuMoe  
    OP
       Apr 25
    @e3c78a97e0f8 企业公司用 Docker 我记得好像有限制,得交钱还是咋的
    grassblock
        41
    grassblock  
       Apr 25
    podman 不错的,非 root 用户开容器不需要太多设置,一般用途也能无缝迁移
    Dogtler
        42
    Dogtler  
       Apr 25
    @lujiaosama 上 k3s ,我就是这么做的
    vishun
        43
    vishun  
       Apr 25
    测试 docker rootless 使用时很多镜像都不适配或有 bug ,又切回 root 模式了。
    flyqie
        44
    flyqie  
       Apr 25 via Android
    @ragnaroks #39

    还是可以比一比的,比如生态?
    lujiaosama
        45
    lujiaosama  
       Apr 25
    @Dogtler K3S 不重吗? K8S 的经验能平滑的用在 K3S 上吗
    hingle
        46
    hingle  
       Apr 25
    之前用过一段时间 podman ,因为与 traefik 不兼容,最终放弃。

    现在用 docker 都是 user 65534:65534 运行。偶尔一些容器,初始化后,再用 su-exec 切过去。
    Lockroach
        47
    Lockroach  
       Apr 25
    docker ,出问题我会确定是自己使用的问题而不是 podman 或者 orbstack 的问题
    higgsboson
        48
    higgsboson  
       Apr 25
    orbstack
    artiga033
        49
    artiga033  
       Apr 25 via Android   ❤️ 1
    podman 和 systemd 集成的比较好,我一般在 pc 和 homelab 上用,少个 daemon 省点内存省点电,纯服务器还是用 docker 省心,反正服务器本来就跑一堆 daemon 不差那一个。

    还有就是 podman 支持 socket activation ,所以可以做到
    1. 服务完全通过 uds 暴露,容器完全无网络。或者就算不考虑隔离,这种情况也省一个端口号,在网关也只需要配 uds 路径,不用记数字。我目前的做法是如果应用直接支持监听 socket 最好,不支持的话就同一个 pod 里起一个 sidecar ,直接转发::1 ,pod 内部网络效率是拉满的没 nat ,然后 uds 更是直接走 fd 连网络都省了,虽然没测过但我觉得理论性能比 docker 高,而且 rootless 。
    2. 延迟启动和按需唤醒,这个参考 podman 自己的 podman.socket 就知道了,你访问的时候它会临时唤醒,监听期间如果一段时间没有连接就会自杀。这个对于资源有限,跑着一堆服务,但不是 24 小时都需要开着的应用是很有用的,尤其是考虑到现在金子般的内存...
    TophTab
        50
    TophTab  
       Apr 25
    docker 。不想迁移。
    目前遇到的大多是项目,也是 docker 方式部署
    crackself
        51
    crackself  
       Apr 25 via Android
    let 也是你么,https://lowendtalk.com/discussion/216575/podman-or-docker#latest
    nodeseek 论坛发了没
    DejavuMoe
        52
    DejavuMoe  
    OP
       Apr 25
    @crackself 是,ns 没号了

    @artiga033 这个 socket 有点意思啊
    momooc
        53
    momooc  
       Apr 25
    为什么我用 podman 运行 vaultwarden 启动不了,在 Fedora 上面,后面直接换成 docker 了
    DejavuMoe
        54
    DejavuMoe  
    OP
       Apr 25
    @momooc 不应该啊,Vaultwarden 官方文档就有 Podman 的说明 https://github.com/dani-garcia/vaultwarden/wiki/Using-Podman
    shcsc
        55
    shcsc  
       Apr 25
    podman 好用,唯一不好的是开机自启需要手动启用一个服务,才会自动拉
    terence4444
        56
    terence4444  
       Apr 25
    我个人以及公司只用 podman ,用 Docker 万一谁用了 Desktop 就有可能触发付费墙。
    Chengnan049
        57
    Chengnan049  
       Apr 25
    @DejavuMoe #38 是
    @liuzimin #32 大部分命令是兼容的,直接写个 alias 替换掉就行
    SingeeKing
        58
    SingeeKing  
    PRO
       Apr 26
    我给 OrbStack 投一票
    liuzimin
        59
    liuzimin  
       Apr 26
    @DejavuMoe #40 好像只有 Desktop 才收费。
    flyqie
        60
    flyqie  
       Apr 26 via Android   ❤️ 1
    @DejavuMoe #40

    直接 cli 跑的话没问题,各大公司给的部署方案不少也是用的 docker 的
    lmmlwen
        61
    lmmlwen  
       Apr 26
    Podman Docker 已经过时了 和 PHP 一样
    gophlet
        62
    gophlet  
       Apr 26
    我本来已经决定用 Podman 了,但是服务开机自启真的很麻烦,好不容易弄明白了 podman generate systemd ,又发现过时了,出了个 Quadlet ,而且当时我看的官方文档写得很不友好。
    后面又回到 Docker 了,开箱即用配置简单,没什么心智负担,一点也不想为那些随时可能被抛弃的基础功能花时间折腾。
    CivAx
        63
    CivAx  
       Apr 26 via iPhone   ❤️ 1
    楼里乱推 K8s 和 K3s 的,出一次 CoreDNS 和 CRDs 问题你就老实了,闲得给自己找事儿干什么。
    dode
        64
    dode  
       Apr 26
    太酷了,现在 podman 也变得更方便了
    DejavuMoe
        65
    DejavuMoe  
    OP
       Apr 26
    @lmmlwen 何意味
    flyqie
        66
    flyqie  
       Apr 26
    @DejavuMoe #40

    刚才仔细搜索了一下, docker 文档和社区都有相关资料.

    在此记录一下

    https://docs.docker.com/engine/#licensing

    https://forums.docker.com/t/license-to-use-docker-community-edition/114840
    kd9yYw2RyhQwAwzn
        67
    kd9yYw2RyhQwAwzn  
       Apr 27
    单机的话 podman 在 k8s 下的话 containerd
    lifansama
        68
    lifansama  
       Apr 27 via Android
    podman 不支持 compose pull 后再 compose up -d 自动重建镜像更新的容器
    别的倒感觉没什么区别
    ccc00
        69
    ccc00  
       Apr 27
    # Docker / nerdctl / Podman:个人推荐与对比
    我的推荐程度是:Docker > nerdctl > Podman

    > 首先说一个类比( Electron vs Tauri ),Docker > Podman 的关系好比 Electron 和 Tauri 的关系:Tauri 打包后体积更小,但实际测试下来内存占用未必更低,有时反而更高;而且因为依赖系统 WebView ,很难做到 macOS 、Linux 、Windows 三端完全一致。Electron 虽然更吃内存、包更大,但通用性最好,三端 UI 的一致性和还原度也最稳定。

    我从个人真实使用场景,从以下这几个角度来对比说明:

    ## 对比维度

    1. 面板支持
    - 我只用 Dockge 面板,没有用过比 Dockge 更好用的面板,portainer 很强大对于个人来说,有点复杂了。但 Dockge 目前只支持 Docker 和 Podman 。这一点上,Podman 对比 nerdctl 完胜。
    2. 三大系统支持( macOS / Linux / Windows )
    - 我常用的是 macOS 和 Linux:macOS 用 OrbStack ,Linux 用 VPS (常用 Fedora 和 Debian )。OrbStack 是 macOS 跑 Docker 的神器,但不支持 Podman ,Podman 在 Linux 之外的平台基本要装 Podman Desktop ;而 Desktop 往往意味着内存占用更大,也更容易产生不稳定性能,所以 macos 更建议 Docker ,linux 也是 rootful 也是建议 Docker ,除非是 Fedora 系统 默认出厂自带 podman 。Windows wsl2 建议 Docker cli ,Docker Desktop 除了官方最新出的 Docker sandbox 功能,沒有其他吸引我的地方。
    3. Compose 兼容性、自启动、学习成本
    - Podman 的自动重启通常要靠 systemctl 或 Quadlet ,意味着每写一个 podman 就需要写一个脚本, 虽然现在有 ai ,但还是比较难麻烦。nerdctl 使用 Docker 命令的兼容度很高,而且不用写自动重启脚本,基本 99% 的 compse 都能用;在 macOS 和 Linux 上甚至可以直接写别名:alias docker="nerdctl" 这样迁移成本和学习成本更低,这点 nerdctl 对比 podman 完胜。
    4. “无守护进程”与内存占用
    - 很多人比较 Docker 和 Podman ,第一点就盯着“有没有守护进程”。经过自己做过不严谨的测试:同一个服务分别用 Docker 和 Podman 跑起来,Podman 的内存占用不一定更低,有时候反而更高。所以不能只看 daemon 这一点,还是要看实际场景和整体体
    验。内存占用,基本上 nerdctl 只需要占用三分一,这点 nerdctl 完胜。
    5. 大众化与稳定性
    - 除了 rootless 这种明确需求外,绝大多数企业或者个人开发者, 发布和部署还是以 Docker 为默认选项,所以从生态、资料的查询、兼容性都更成熟。也因此我更倾向于 Docker 。这点 Docker 完胜
    6. 经过爬帖子看过 v 站网友的笑谈
    - Docker 跑不起来我会先怀疑是我的问题; Podman 跑不起来我会先怀疑是 Podman 的问题。以上观点是我个人观点,不代表大众观点。
    qbqbqbqb
        70
    qbqbqbqb  
       Apr 27
    @ccc00 podman 自启动可以用自带的 podman-restart.service 服务,开机的时候可以自动启动所有--restart=always 的容器,不需要手写脚本或配置
    lyq
        71
    lyq  
       Apr 27
    @e3c78a97e0f8 我们公司也是用 podman,是因为公司使用 docker 属于侵权,会被发律师函(估计这是最主要的原因,成本考虑)
    ccc00
        72
    ccc00  
       Apr 27
    @qbqbqbqb 看来是我使用方式不对
    qbqbqbqb
        73
    qbqbqbqb  
       1 day ago
    Podman 用 rootful 模式( Linux 下需要用 sudo 运行,Windows 下需要在 Podman Desktop 里创建 rootful 的 machine ),使用体验几乎和 Docker 一样,兼容性问题极少。

    拿 Podman 的 rootless 模式和 Docker (默认 rootful )比兼容性本身就不公平。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2992 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 156ms · UTC 06:05 · PVG 14:05 · LAX 23:05 · JFK 02:05
    ♥ Do have faith in what you're doing.