vergilgao
V2EX  ›  Docker

2025 年了,感觉 podman 已经比 docker 好用太多了,就差一个杀手级的 GUI 配置了

  •  1
     
  •   vergilgao · Aug 29, 2025 · 9656 views
    This topic created in 436 days ago, the information mentioned may be changed or developed.

    我现在是用 Fedora 部署 podman 和 docker 比,podman 带来了

    • 可固定 mac 地址,通过 dhcp 获取 ip (netavark)
    • 使用 systemd 管理容器 daemon (quadlet)
    • 可自动拉取更新镜像 (quadlet)
    • 完备的 rootless 容器化支持
    • nftables 防火墙支持 我是直接写 quadlet 配置文件
    [Unit]
    Description=mqtt broker server
    After=network-online.target
    Wants=network-online.target
    Before=shutdown.target
    
    [Container]
    HostName=mqtt-broker
    AutoUpdate=registry
    Image=docker.io/eclipse-mosquitto:latest
    Network=macvlan.network
    PodmanArgs=--mac-address XX:XX:XX:XX:XX:XX
    Volume=/srv/docker/root/volumes/mqtt/data:/mosquitto/data
    Volume=/srv/docker/root/volumes/mqtt/config:/mosquitto/config
    Volume=/srv/docker/root/volumes/mqtt/log:/mosquitto/log
    
    [Service]
    Restart=always
    
    [Install]
    WantedBy=multi-user.target
    

    然后容器就以一个 systemd 的服务的形式运行起来了。

    50 replies  •  2025-10-24 18:30:36 +08:00
    yekk
    yekk
    Aug 29, 2025
    1
    编排方便吗?
    jamos
    jamos
    Aug 29, 2025❤️1
    2
    docker+portainer 很方便的
    sesshomaru0
    sesshomaru0
    Aug 29, 2025
    3
    使用 systemd 管理容器 daemon (quadlet)
    楼主这有管理微服务吗?最近有这种需求
    kapr1k0rn
    kapr1k0rn
    Aug 29, 2025
    4
    gui 不是有 podman desktop 吗
    vergilgao
    vergilgao
    OP
    Aug 29, 2025
    5
    @gococonut [pod]man 自然是有 pod 的,我个人是觉得 pod 要比 compose 设计思想更先进。
    vergilgao
    vergilgao
    OP
    Aug 29, 2025
    6
    @kapr1k0rn 我其实是指的是 nas 系统集成的 webui 不是 desktop 也不是 portainer/dockerman 这种。从我目前使用的感受来说,webui 配置好之后,生成 quadlet 文件然后交给 systemd 来运行更符合 podman 的设计哲学。
    COW
    COW
    Aug 29, 2025
    7
    进程多了感觉不太好管理,由于是无 daemon ,比如某些 systemd 进程关了,用 podman ps 就查不到了,缺个好用的 工具支持 systemctl + podman ps 筛选的
    hefish
    hefish
    Aug 29, 2025❤️2
    8
    大家用我推荐, 我还是继续 docker 。
    hwdq0012
    hwdq0012
    Aug 29, 2025
    9
    没看到心动的点,好像 nvidia 驱动有限制 rootless
    有人在上面跑 ai 训练模型吗, 和 docker 用 nvidia-docker2 比有什么区别
    还有他的容器镜像方案是什么 ,docker 可以用 harbor 做 private registry ,Podman 是用什么
    w568w
    w568w
    Aug 29, 2025
    10
    我觉得 Quadlet 不太好的地方:

    1. 从 Yaml 换成了语法表达力更弱的 ini-like ;
    2. 不是 systemd 第一方支持,依然需要开机运行 generator 来生成 .service 文件;
    3. 因为强行贴近 systemd 的 ini 配置风格,原本一个 compose.yaml 能配置完的服务栈和网络,现在必须得七八个文件。

    我自己的话还是主要用 compose.yaml + podman-compose 来跑。只有少数依赖项不复杂且固化的服务(比如系统全局都要用的代理软件 image ),才考虑写成 quadlet 来开机自启。
    dzdh
    dzdh
    Aug 29, 2025
    11
    @vergilgao #6 ln -s /usr/bin/podman/usr/bin/docker 就好
    infinityv
    infinityv
    Aug 29, 2025 via iPhone
    12
    dockerd 不也是 systemd 管理的吗
    vergilgao
    vergilgao
    OP
    Aug 29, 2025
    13
    @dzdh docker 没有 pod 啊
    cheng6563
    cheng6563
    Aug 29, 2025
    14
    裸 pod 不套层 deployment 真的能用吗
    vergilgao
    vergilgao
    OP
    Aug 29, 2025
    15
    @infinityv 不是一个概念,dockerd 是 docker 的 daemon ,podman 没有 daemon ,这里说的 systemd 管理 podman 的 daemon 其实是 systemd 直接作为 container 的 daemon
    vergilgao
    vergilgao
    OP
    Aug 29, 2025
    16
    @cheng6563 家用肯定不可能用 k8s ,k3s 的话,我觉得还不如直接用 podlet 让 systemd 自己来了。CoreOS 那一套对于家用来说也是过于复杂了。所以我觉得直接套一个好用的 webui 管理 quadlet 文件,反而是一个非常优秀的 nas 上 GUI 容器化的方案。
    Geon97
    Geon97
    Aug 29, 2025
    17
    其实理论上来讲,podman 比 docker 相对更安全一些
    66z
    66z
    Aug 29, 2025❤️1
    18
    人生苦短,我用 Docker
    Yanickkk
    Yanickkk
    Aug 29, 2025❤️1
    19
    入门用户体验起来没什么区别
    重量用户可能都去用 kube ,不太关心底下了
    大概就是那种重度使用单机的会用,那么确实范围太小了
    yayoi
    yayoi
    Aug 29, 2025❤️1
    20
    以前用过,podman-compose 和 docker compose 有些行为是不一致的,现在大部分镜像文档还是以 docker 为准.podman 很难用.至于 rootless 之类的特性对于个人使用没啥大用处.但是企业都用 k8s.所以 podman 是个尴尬的东西,个人是没有动力去用这个的
    cslive
    cslive
    Aug 29, 2025
    21
    cockpit 管理 podman ,都是一家出的
    chenluo0429
    chenluo0429
    Aug 29, 2025 via Android
    22
    我对 systemd 过敏,让我用别人写好的现成服务可以,让我自己写配置,我就十分不爽
    yuhangch
    yuhangch
    Aug 29, 2025
    23
    @chenluo0429 交给 AI 呗
    cryboy007
    cryboy007
    Aug 29, 2025
    24
    公司用什么我就用什么。个人就用自己熟悉的.都是工具老比来比去的没意思
    weijancc
    weijancc
    Aug 29, 2025
    25
    无 daemon 这玩意就不值得吹
    cyp0633
    cyp0633
    Aug 29, 2025
    26
    起码不会把我的 nftables 规则搞乱
    SakuraYuki
    SakuraYuki
    Aug 29, 2025
    27
    觉得他好用的不需要 gui ,需要 gui 的感受不出区别
    kennylam777
    kennylam777
    Aug 29, 2025
    28
    都是 k8s 能完成的東西, 唯一要 systemd 的只有 kubelet, k3s control-pane 的話可能還有 etcd/api-server, DHCP 方面是配 multus 就能完成的東西

    pod 在 docker compose 上作用不明顯, 只是一堆共用 network 的 containers, 但 docker 本來是 OCI 的能被 k8s 調用成 pod 的樣子

    而且 k8s 現在配合的 container engine 是 containerd, 至少這東西和 docker 有也有 nvidia container toolkit 等大廠 GPU 的支持

    我仍然覺得直接學 k3s 比較有用
    anubu
    anubu
    Aug 29, 2025
    29
    拿来玩还是挺不错的,也能扩展对容器生态的认识。不过从技能性价比角度,nerdctl/containerd 感觉更好一些。向下和 docker/docker compose 几乎无缝兼容,向上维护 kubelet/containerd 这一套也能复用经验。

    daemon 这个问题挺难说,有时候觉得 docker daemon 还挺好用的。在本地 vscode 编辑完 compose 文件,直接 docker context 连接到远程 ssh 暴漏的 docker daemon 就可以启动服务。相比拷贝 compose 文件到服务端,方便很多。当然,无 daemon 时,vscode remote ssh 也能应付这些场景。
    zed1018
    zed1018
    Aug 29, 2025
    30
    我感觉有点鸡肋,属于是生产环境有更好的方案,本地开发也用不上的功能。
    COW
    COW
    Aug 29, 2025
    31
    @anubu 似乎你在用 nerdctl 和 vscode ,但目前 containers 插件只支持 docker 和 podman 两种 runtime ,是怎么处理的?
    yanqiyu
    yanqiyu
    Aug 29, 2025
    32
    @vergilgao #6 webui 的话有 cockpit, 不过好像不兴创建 podlet
    yanqiyu
    yanqiyu
    Aug 29, 2025
    33
    对我来说 podman 真正的不可替代的特性是借助 fork-exec 的模型支持 pass fd ,然后就可以让容器也能走 socket activation 来响应请求。

    这样一些容器甚至了一 network=none 也能提供网络服务
    user1284
    user1284
    Aug 29, 2025
    34
    没被坑过不知道痛, 喜欢折腾就玩吧, 觉得折腾有意思当然觉得好, 我自己的经验是以后再也不乱折腾了, 坑死我了
    yanqiyu
    yanqiyu
    Aug 29, 2025
    35
    @anubu podman.socket 也可以启动一个 daemon (行为也很大程度上兼容 docker 的 socket 我记得),并且 podman system connection [add,list...] 可以添加直接暴露的 http 或者 ssh endpoint ,这样在远程机器上 podman -c <remote> ... 就等价于在远程执行了
    1daydayde
    1daydayde
    Aug 29, 2025
    36
    等一条帖子:podman 太坑了,换回了 docker
    shcsc
    shcsc
    Aug 29, 2025
    37
    家里的 Linux ,我就是用 podman 跑服务
    Proposal
    Proposal
    Aug 29, 2025
    38
    没有看到对 docker 的替代性...
    pulutom40
    pulutom40
    Aug 29, 2025 via iPhone
    39
    说得好,个人使用继续 docker ,珍爱生命,远离折腾
    githmb
    githmb
    Aug 29, 2025
    40
    这东西离线安装后运行不了啊,配置太多了,经常缺东西,找齐也全是启动问题
    DefoliationM
    DefoliationM
    Aug 29, 2025 via Android
    41
    用过一段时间,但是备份比较麻烦,最后还是 terraform+k8s 了,方便管理配置。
    0x42
    0x42
    Aug 29, 2025 via Android
    42
    尽管如此,但是我还是 docker ,又不是不能用,主要是 compose 对我来说已经足够简单、便捷。没有折腾的理由哈哈
    0x42
    0x42
    Aug 29, 2025 via Android
    43
    btw qnap
    anubu
    anubu
    Aug 29, 2025
    44
    @COW vscode 主要用于 yaml 文件编辑和调起 wsl 当终端用。容器插件用的很少,偶尔看看 docker 日志,没有 nerdctl 和 vscode 集成使用的经验。
    WhatTheBridgeSay
    WhatTheBridgeSay
    Aug 30, 2025
    45
    工程实践的话我还是优选 docker ,除了捏着鼻子给 ufw 打补丁不然 ufw 创建的主机防火墙规则会被绕过以外没有缺点。
    podman 很好我也知道,但是还是仅适合自己玩,docker 最有价值的从来不在于装在你机器里的那个二进制和 daemon ,而是 docker hub
    xycost233
    xycost233
    Aug 30, 2025
    46
    一堆 compose ,切换成本有点高了。。不太干试
    podman 支持 macvlan 网络么,能使用 traefik 自动代理不
    johnniang
    johnniang
    Aug 30, 2025 via Android
    47
    最近我更喜欢用 Docker Swarm 了。
    witherzuo
    witherzuo
    Aug 30, 2025 via Android
    48
    podman 什么都好,但在 Windows 和 macOS 上一直有个问题,podman pull 拉取镜像时不会显示流式传输进度,Linux 上正常……
    wweir
    wweir
    Sep 1, 2025
    49
    还是更喜欢 nerdctl 一些。
    docker 作为事实标准,并且整体往 k8s 上迁移的时候,另外学一套交互命令的成本就很高了。
    这时候,兼容 docker 才是第一要义,其它都属于花头
    Auston
    Auston
    Oct 24, 2025
    50
    @xycost233 可以使用 traefik
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   855 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 101ms · UTC 23:56 · PVG 07:56 · LAX 15:56 · JFK 18:56
    ♥ Do have faith in what you're doing.