我现在是用 Fedora 部署 podman 和 docker 比,podman 带来了
[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 的服务的形式运行起来了。
![]() | 1 gococonut 41 天前 编排方便吗? |
2 jamos 41 天前 ![]() docker+portainer 很方便的 |
3 mbeoliero123 41 天前 使用 systemd 管理容器 daemon (quadlet) 楼主这有管理微服务吗?最近有这种需求 |
4 kapr1k0rn 41 天前 gui 不是有 podman desktop 吗 |
![]() | 6 vergilgao OP @kapr1k0rn 我其实是指的是 nas 系统集成的 webui 不是 desktop 也是 portainer/dockerman 这种。从我目前使用的感受来说,webui 配置好之后,生成 quadlet 文件然后交给 systemd 来运行更符合 podman 的设计哲学。 |
![]() | 7 COW 41 天前 进程多了感觉不太好管理,由于是无 daemon ,比如某些 systemd 进程关了,用 podman ps 就查不到了,缺个好用的 工具支持 systemctl + podman ps 筛选的 |
8 hefish 41 天前 ![]() 大家用我推荐, 我还是继续 docker 。 |
9 hwdq0012 41 天前 没看到心动的点,好像 nvidia 驱动有限制 rootless 有人在上面跑 ai 训练模型吗, 和 docker 用 nvidia-docker2 比有什么区别 还有他的容器镜像方案是什么 ,docker 可以用 harbor 做 private registry ,Podman 是用什么 |
10 w568w 41 天前 我觉得 Quadlet 不太好的地方: 1. 从 Yaml 换成了语法表达力更弱的 ini-like ; 2. 不是 systemd 第一方支持,依然需要开机运行 generator 来生成 .service 文件; 3. 因为强行贴近 systemd 的 ini 配置风格,原本一个 compose.yaml 能配置完的服务栈和网络,现在必须得七八个文件。 我自己的话还是主要用 compose.yaml + podman-compose 来跑。只有少数依赖项不复杂且固化的服务(比如系统全局都要用的代理软件 image ),才考虑写成 quadlet 来开机自启。 |
12 infinityv 41 天前 via iPhone dockerd 不也是 systemd 管理的吗 |
![]() | 14 cheng6563 41 天前 裸 pod 不套层 deployment 真的能用吗 |
![]() | 15 vergilgao OP @infinityv 不是一个概念,dockerd 是 docker 的 daemon ,podman 没有 daemon ,这里说的 systemd 管理 podman 的 daemon 其实是 systemd 直接作为 container 的 daemon |
![]() | 16 vergilgao OP @cheng6563 家用肯定不可能用 k8s ,k3s 的话,我觉得还不如直接用 podlet 让 systemd 自己来了。CoreOS 那一套对于家用来说也是过于复杂了。所以我觉得直接套一个好用的 webui 管理 quadlet 文件,反而是一个非常优秀的 nas 上 GUI 容器化的方案。 |
![]() | 17 Geon97 41 天前 其实理论上来讲,podman 比 docker 相对更安全一些 |
18 66z 41 天前 ![]() 人生苦短,我用 Docker |
19 yannxia 41 天前 ![]() 入门用户体验起来没什么区别 重量用户可能都去用 kube ,不太关心底下了 大概就是那种重度使用单机的会用,那么确实范围太小了 |
20 yayoi 41 天前 ![]() 以前用过,podman-compose 和 docker compose 有些行为是不一致的,现在大部分镜像文档还是以 docker 为准.podman 很难用.至于 rootless 之类的特性对于个人使用没啥大用处.但是企业都用 k8s.所以 podman 是个尴尬的东西,个人是没有动力去用这个的 |
21 cslive 41 天前 cockpit 管理 podman ,都是一家出的 |
22 chenluo0429 41 天前 via Android 我对 systemd 过敏,让我用别人写好的现成服务可以,让我自己写配置,我就十分不爽 |
![]() | 23 yuhangch 41 天前 @chenluo0429 交给 AI 呗 |
24 cryboy007 41 天前 公司用什么我就用什么。个人就用自己熟悉的.都是工具老比来比去的没意思 |
![]() | 25 weijancc 41 天前 无 daemon 这玩意就不值得吹 |
26 cyp0633 41 天前 起码不会把我的 nftables 规则搞乱 |
![]() | 27 SakuraYuki 41 天前 觉得他好用的不需要 gui ,需要 gui 的感受不出区别 |
![]() | 28 kennylam777 41 天前 都是 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 比有用 |
![]() | 29 anubu 41 天前 拿来玩还是挺不错的,也能扩展对容器生态的认识。不过从技能性价比角度,nerdctl/containerd 感觉更好一些。向下和 docker/docker compose 几乎无缝兼容,向上维护 kubelet/containerd 这一套也能复用经验。 daemon 这个问题挺难说,有时候觉得 docker daemon 还挺好用的。在本地 vscode 编辑完 compose 文件,直接 docker context 连接到远程 ssh 暴漏的 docker daemon 就可以启动服务。相比拷贝 compose 文件到服务端,方便很多。当然,无 daemon 时,vscode remote ssh 也能应付这些场景。 |
30 zed1018 41 天前 我感觉有点鸡肋,属于是生产环境有更好的方案,本地开发也用不上的功能。 |
![]() | 31 COW 41 天前 @anubu 似乎你在用 nerdctl 和 vscode ,但目前 containers 插件只支持 docker 和 podman 两种 runtime ,是怎么处理的? |
33 yanqiyu 41 天前 对我来说 podman 真正的不可替代的特性是借助 fork-exec 的模型支持 pass fd ,然后就可以让容器也能走 socket activation 来响应请求。 这样一些容器甚至了一 network=none 也能提供网络服务 |
![]() | 34 yb2313 41 天前 没被坑过不知道痛, 喜欢折腾就玩吧, 觉得折腾有意思当然觉得好, 我自己的经验是以后再也不乱折腾了, 坑死我了 |
35 yanqiyu 41 天前 @anubu podman.socket 也可以启动一个 daemon (行为也很大程度上兼容 docker 的 socket 我记得),并且 podman system connection [add,list...] 可以添加直接暴露的 http 或者 ssh endpoint ,这样在远程机器上 podman -c <remote> ... 就等价于在远程执行了 |
![]() | 36 1daydayde 41 天前 等一条帖子:podman 太坑了,换回了 docker |
37 shcsc 41 天前 家里的 Linux ,我就是用 podman 跑服务 |
![]() | 38 Proposal 41 天前 没有看到对 docker 的替代性... |
39 pulutom40 41 天前 via iPhone 说得好,个人使用继续 docker ,珍爱生命,远离折腾 |
40 githmb 41 天前 这东西离线安装后运行不了啊,配置太多了,经常缺东西,找齐也全是启动问题 |
41 DefoliationM 41 天前 via Android 用过一段时间,但是备份比较麻烦,最后还是 terraform+k8s 了,方便管理配置。 |
42 0x42 41 天前 via Android 尽管如此,但是我还是 docker ,又不是不能用,主要是 compose 对我来说已经足够简单、便捷。没有折腾的理由哈哈 |
43 0x42 41 天前 via Android btw qnap |
![]() | 44 anubu 41 天前 @COW vscode 主要用于 yaml 文件编辑和调起 wsl 当终端用。容器插件用的很少,偶尔看看 docker 日志,没有 nerdctl 和 vscode 集成使用的经验。 |
![]() | 45 WhatTheBridgeSay 40 天前 工程实践的话我还是优选 docker ,除了捏着鼻子给 ufw 打补丁不然 ufw 创建的主机防火墙规则会被绕过以外没有缺点。 podman 很好我也知道,但是还是仅适合自己玩,docker 最有价值的从来不在于装在你机器里的那个二进制和 daemon ,而是 docker hub |
46 xycost233 40 天前 一堆 compose ,切换成本有点高了。。不太干试 podman 支持 macvlan 网络么,能使用 traefik 自动代理不 |
47 johnniang 40 天前 via Android 最近我更喜欢用 Docker Swarm 了。 |
48 witherzuo 40 天前 via Android podman 什么都好,但在 Windows 和 macOS 上一直有个问题,podman pull 拉取镜像时不会显示流式传输进度,Linux 上正常…… |
![]() | 49 wweir 38 天前 还是更喜欢 nerdctl 一些。 docker 作为事实标准,并且整体往 k8s 上迁移的时候,另外学一套交互命令的成本就很高了。 这时候,兼容 docker 才是第一要义,其它都属于花头 |