求问 pve 7 安装 docker 的最佳方式
1 、安装在宿主机上,也就是 debian11
2 、安装在 lxc 上,模板选 debian11
3 、安装在 vm 上,用 debian11 镜像
2 和 3 在性能上有无实质性区别
我的是一台家用 aio 服务器 J4125_16GB 需求是一些 docker 服务:如 mysql 、homeassistant 、openwrt 、jellyfin 等
1
jhytxy 2022-01-27 15:59:32 +08:00 via iPhone
盲猜 2 会有兼容问题
|
2
2i2Re2PLMaDnghL 2022-01-27 16:00:06 +08:00
性能上来说,2 和 3 的区别肯定比 1 和 2 的大
一般见到的推荐是只要内核还适用,就装在一个 LXC 里。 |
3
ByteCat 2022-01-27 16:49:01 +08:00
不要安装在 LXC 容器里,毕竟它本来就是容器,会出现奇怪的、无法解决的兼容性问题(别问我怎么知道的)。
也不是很推荐污染 Proxmox VE 的环境,直接安装在宿主机上也不便于备份。 我是专门起了一个 VM 来安装 Docker 的,只干 Dockers 的活。 |
4
TerranceL 2022-01-27 16:52:38 +08:00
我是装在黑群晖的 VM 里。。因为 debian/ubuntu 我不会挂载白群晖的目录 =。=
|
5
aptupdate 2022-01-27 16:57:54 +08:00 via iPhone
在用 alpine 模板的 LXC ,建了仨分别用做 adg Home 和 docker 服务,还有个平时做测试。alpine 体积小方便配置用下来一直挺稳,到目前还没遇到过很难解决的依赖问题。
Debian 更全面但是跑 docker 好像不用特别在意依赖和包,不如选个小巧点的。 |
6
aptupdate 2022-01-27 17:05:15 +08:00 via iPhone
@TerranceL 我刚开始也是在黑群晖跑 docker ,可视化配置很方便,不过自从发生过一次修改配置导致黑群晖起不来之后就把 docker 服务单独跑了。现在是能拆的服务都拆到不同的 LXC 里,感觉这样备份管理都方便。
|
7
nbweb 2022-01-27 17:07:25 +08:00
我装在黑群晖里,折腾方便,docker 挂了,不至少重装 pve ,同时把硬盘直通给黑群晖。
|
8
crysislinux 2022-01-27 17:08:56 +08:00 via Android
跑在 vm 里吧,我也是 4125 这个 u ,绝大部分服务都是监听请求干活儿,CPU 占用很低的。真的需要高性能的场景 4125 这 U 跑在哪儿都没救。
|
9
nbweb 2022-01-27 17:09:38 +08:00
@aptupdate 黑群起不来,重置一下黑群的系统就行了,有虚拟机非常方便,前后十分钟搞定。上次也是把黑群系统搞挂了,把硬盘的第一个分区格式化,重装一下就行了。
我的账号被 V2EX 降级了,不敢发我博客的链接了,我都写在我博客里。 |
10
aptupdate 2022-01-27 17:17:42 +08:00 via iPhone
@nbweb 我记得当时恢复 VM 备份都起不来,最后重装才好的。后来考虑到硬盘休眠和就算黑群晖挂了或者关掉也不要影响 docker 服务就都拆开了。
|
11
nbweb 2022-01-27 17:25:27 +08:00
@aptupdate 黑群挂了,就是系统改错文件挂了,是可以无损重装的。重装之后所有的文件都在。如果是原地重装,只需要格式化硬盘的第一个分区即可,开机后,输入 ip 时,会弹出让你重新上传 pat 文件,一路下去就行了。结束时,会问你是否把套件也装回去。
这种重装方式也适合黑群升级,把引导文件换成新的,把硬盘第一个分区格式化了,上传新的 pat 即可。 |
12
jimmy203308 2022-01-27 17:28:03 +08:00
我是 2,用的 Ubuntu_20.04_Cloud_rootfs_v1.2.tar.xz,目前一切正常,不过服务不多,几个速度测试服务,kodexploer,openwrt 宿主是 3865U 的软路由,同时跑了 ikuai
|
13
IvanLi127 2022-01-27 17:31:18 +08:00 1
我用 2 的方案,在 LXC 里装 ArchLinux ,再在里面装 Docker ,感觉挺好的 哈哈,1 的话感觉怪怪的,3 似乎没必要。
|
14
asdasdqqq OP |
15
iridescent0rsy 2022-01-27 17:34:50 +08:00 via Android
我也是 2 ,开了两个 lxc ,用的 Ubuntu 和 arch 模板,Ubuntu 的稳定跑 docker 服务,arch 的折腾用,都运行有两年了,目前没啥问题。因为磁盘空间不足,还迁移过一次,很稳定
|
16
asdasdqqq OP @IvanLi127 lxc 不太会用,刚买的小主机,我先选 3 先跑 vm 吧,等玩熟练了 pve 在跑 lxc 试试。
看回帖 2 和 3 也是有意见分歧的,欢迎讨论优劣,如果有实质性的证据更好,😄 |
17
cm2gseh 2022-01-27 18:32:47 +08:00 via Android
什么,难道就我选 1 ?
已经运行了 1 年,没有任何问题,期间还从 PVE6 升级到 PVE7 ,妥妥的! |
18
Zy143L 2022-01-27 22:43:21 +08:00 via Android
我是直接跑在宿主里面的
|
19
msg7086 2022-01-28 00:22:01 +08:00
我装宿主机,一点问题都没有。PVE 和 docker 都是 Debian 上的软件包,为什么不能装在一起。
|
20
ruidoBlanco 2022-01-28 04:47:05 +08:00
我当初也为这个犹豫了挺久。
现在两台 lxc ,都是本地 compose 连 lxc 里的 docker - lxc 1: adguardhome 专用,本来还想跑 netbootxyz ,一直有问题。 - lxc 2: jellyfin, uptime-kuma, paperless-ng, navidrome, minio, cloudflare tunnel, heimdall 用 lxc 跑的最好的地方是可以用 bind mount 挂载 host 目录。然后我那些 docker 容器的数据文件都其实是最 host 一块 usb 硬盘的同一个分区里。因为是 bind mount ,所以多少个容器来挂载都不会有问题。 |
21
RheatiN 2022-01-28 08:32:27 +08:00
官方是不推荐安装在宿主机和 lxc 上的,隔离度不够高,推荐装在 vm 上,装个 rancheros 或者 alpine
|
22
TheSixWings 2022-01-28 09:11:40 +08:00
我选 3 ,方便备份
|
23
gam2046 2022-01-28 13:36:35 +08:00 1
@msg7086 #19 当然是可以的,只是不推荐。一个由于 PVE 本身是支持群集的,宿主环境下的内容难以被同步、迁移、故障恢复到其他节点,另一个是安全性,由于宿主环境不能创建快照,如果不慎操作失误,不仅宿主环境可能被破坏,下属的其他虚拟机也可能被影响,同时 Docker 会操作 iptables ,配置失误也可能影响宿主以及其他虚拟机的网络连接。
|
24
cyjme 2022-01-28 16:30:31 +08:00
1.污染宿主机
2-0.无法备份恢复到其他节点,通过设置特权容器可以恢复,然后重设非特权,但是 docker 依然无法运行。 2-1.pve 6 升 7 之后,因为 cgroup v2 的升级,docker 需要更新版本才能运行,以后再次升级,也有可能会遇到类似情况。 3. ok. 但性能有区别,vm 不如 lxc 。 我之前用的 lxc ,从 6 升到 7 之后,用到 docker 的全部改成了 vm , 方便节点间迁移,即便是迁移到其他 虚拟化平台也 OK 。 |
25
zhengxian 2022-01-28 17:33:15 +08:00
我在 Ubuntu 虚拟机上跑 docker ,只要属主机够强,根本不用在乎虚拟那点损耗
|
26
986244073 2022-01-28 20:25:10 +08:00
我是在 j4125 里面装 arch 然后装 docker
|
27
dann73580 2022-03-16 00:35:18 +08:00
不再意损耗的话,当然可以 vm 里跑 docker 了(记得 cpu 要选 host 获取最大性能)
但 LXC 内跑 docker 也有他的优势,经过长期实测,LXC 的性能好了不止一点半点,同时常规的 docker 项目完全可以跑起来,没啥兼容性问题;备份也比较方便好用。 |
28
qingtianxie 2022-10-25 19:47:29 +08:00 2
If you want to run application containers, for example, Docker images, it is best to run them inside a Proxmox Qemu VM.
官方文档推荐装 VM 上 |
29
xingzhiyuan 2023-09-30 11:02:35 +08:00 1
lxc 里面性能最好, 启动也更快,占用更少的内存, 也没有啥兼容性的问题.
在 vm 里面跑, 内存要占用大一点. |