V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
asdasdqqq
V2EX  ›  Linux

求问 pve 7 安装 docker 的最佳方式

  •  
  •   asdasdqqq · 160 天前 · 4532 次点击
    这是一个创建于 160 天前的主题,其中的信息可能已经有所发展或是发生改变。

    求问 pve 7 安装 docker 的最佳方式

    1 、安装在宿主机上,也就是 debian11

    2 、安装在 lxc 上,模板选 debian11

    3 、安装在 vm 上,用 debian11 镜像

    2 和 3 在性能上有无实质性区别

    我的是一台家用 aio 服务器 J4125_16GB 需求是一些 docker 服务:如 mysql 、homeassistant 、openwrt 、jellyfin 等

    27 条回复    2022-03-16 00:35:18 +08:00
    jhytxy
        1
    jhytxy  
       160 天前 via iPhone
    盲猜 2 会有兼容问题
    2i2Re2PLMaDnghL
        2
    2i2Re2PLMaDnghL  
       160 天前
    性能上来说,2 和 3 的区别肯定比 1 和 2 的大
    一般见到的推荐是只要内核还适用,就装在一个 LXC 里。
    ByteCat
        3
    ByteCat  
       160 天前
    不要安装在 LXC 容器里,毕竟它本来就是容器,会出现奇怪的、无法解决的兼容性问题(别问我怎么知道的)。
    也不是很推荐污染 Proxmox VE 的环境,直接安装在宿主机上也不便于备份。
    我是专门起了一个 VM 来安装 Docker 的,只干 Dockers 的活。
    TerranceL
        4
    TerranceL  
       160 天前
    我是装在黑群晖的 VM 里。。因为 debian/ubuntu 我不会挂载白群晖的目录 =。=
    aptupdate
        5
    aptupdate  
       160 天前 via iPhone
    在用 alpine 模板的 LXC ,建了仨分别用做 adg Home 和 docker 服务,还有个平时做测试。alpine 体积小方便配置用下来一直挺稳,到目前还没遇到过很难解决的依赖问题。
    Debian 更全面但是跑 docker 好像不用特别在意依赖和包,不如选个小巧点的。
    aptupdate
        6
    aptupdate  
       160 天前 via iPhone
    @TerranceL 我刚开始也是在黑群晖跑 docker ,可视化配置很方便,不过自从发生过一次修改配置导致黑群晖起不来之后就把 docker 服务单独跑了。现在是能拆的服务都拆到不同的 LXC 里,感觉这样备份管理都方便。
    nbweb
        7
    nbweb  
       160 天前
    我装在黑群晖里,折腾方便,docker 挂了,不至少重装 pve ,同时把硬盘直通给黑群晖。
    crysislinux
        8
    crysislinux  
       160 天前 via Android
    跑在 vm 里吧,我也是 4125 这个 u ,绝大部分服务都是监听请求干活儿,CPU 占用很低的。真的需要高性能的场景 4125 这 U 跑在哪儿都没救。
    nbweb
        9
    nbweb  
       160 天前
    @aptupdate 黑群起不来,重置一下黑群的系统就行了,有虚拟机非常方便,前后十分钟搞定。上次也是把黑群系统搞挂了,把硬盘的第一个分区格式化,重装一下就行了。

    我的账号被 V2EX 降级了,不敢发我博客的链接了,我都写在我博客里。
    aptupdate
        10
    aptupdate  
       160 天前 via iPhone
    @nbweb 我记得当时恢复 VM 备份都起不来,最后重装才好的。后来考虑到硬盘休眠和就算黑群晖挂了或者关掉也不要影响 docker 服务就都拆开了。
    nbweb
        11
    nbweb  
       160 天前
    @aptupdate 黑群挂了,就是系统改错文件挂了,是可以无损重装的。重装之后所有的文件都在。如果是原地重装,只需要格式化硬盘的第一个分区即可,开机后,输入 ip 时,会弹出让你重新上传 pat 文件,一路下去就行了。结束时,会问你是否把套件也装回去。
    这种重装方式也适合黑群升级,把引导文件换成新的,把硬盘第一个分区格式化了,上传新的 pat 即可。
    jimmy203308
        12
    jimmy203308  
       160 天前
    我是 2,用的 Ubuntu_20.04_Cloud_rootfs_v1.2.tar.xz,目前一切正常,不过服务不多,几个速度测试服务,kodexploer,openwrt 宿主是 3865U 的软路由,同时跑了 ikuai
    IvanLi127
        13
    IvanLi127  
       160 天前
    我用 2 的方案,在 LXC 里装 ArchLinux ,再在里面装 Docker ,感觉挺好的 哈哈,1 的话感觉怪怪的,3 似乎没必要。
    asdasdqqq
        14
    asdasdqqq  
    OP
       160 天前
    @TerranceL
    @nbweb
    pve 黑裙我也装了,群晖装 docker 我是这么考虑的,就是群晖的命令行很多软件没有,用起来不是很顺手
    所以打算用 linux 发行版服务器去跑跑 docker
    iridescent0rsy
        15
    iridescent0rsy  
       160 天前 via Android
    我也是 2 ,开了两个 lxc ,用的 Ubuntu 和 arch 模板,Ubuntu 的稳定跑 docker 服务,arch 的折腾用,都运行有两年了,目前没啥问题。因为磁盘空间不足,还迁移过一次,很稳定
    asdasdqqq
        16
    asdasdqqq  
    OP
       160 天前
    @IvanLi127 lxc 不太会用,刚买的小主机,我先选 3 先跑 vm 吧,等玩熟练了 pve 在跑 lxc 试试。
    看回帖 2 和 3 也是有意见分歧的,欢迎讨论优劣,如果有实质性的证据更好,😄
    cm2gseh
        17
    cm2gseh  
       160 天前 via Android
    什么,难道就我选 1 ?
    已经运行了 1 年,没有任何问题,期间还从 PVE6 升级到 PVE7 ,妥妥的!
    Zy143L
        18
    Zy143L  
       160 天前 via Android
    我是直接跑在宿主里面的
    msg7086
        19
    msg7086  
       160 天前
    我装宿主机,一点问题都没有。PVE 和 docker 都是 Debian 上的软件包,为什么不能装在一起。
    ruidoBlanco
        20
    ruidoBlanco  
       159 天前
    我当初也为这个犹豫了挺久。

    现在两台 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 ,所以多少个容器来挂载都不会有问题。
    RheatiN
        21
    RheatiN  
       159 天前
    官方是不推荐安装在宿主机和 lxc 上的,隔离度不够高,推荐装在 vm 上,装个 rancheros 或者 alpine
    TheSixWings
        22
    TheSixWings  
       159 天前
    我选 3 ,方便备份
    gam2046
        23
    gam2046  
       159 天前
    @msg7086 #19 当然是可以的,只是不推荐。一个由于 PVE 本身是支持群集的,宿主环境下的内容难以被同步、迁移、故障恢复到其他节点,另一个是安全性,由于宿主环境不能创建快照,如果不慎操作失误,不仅宿主环境可能被破坏,下属的其他虚拟机也可能被影响,同时 Docker 会操作 iptables ,配置失误也可能影响宿主以及其他虚拟机的网络连接。
    cyjme
        24
    cyjme  
       159 天前
    1.污染宿主机

    2-0.无法备份恢复到其他节点,通过设置特权容器可以恢复,然后重设非特权,但是 docker 依然无法运行。
    2-1.pve 6 升 7 之后,因为 cgroup v2 的升级,docker 需要更新版本才能运行,以后再次升级,也有可能会遇到类似情况。

    3. ok. 但性能有区别,vm 不如 lxc 。


    我之前用的 lxc ,从 6 升到 7 之后,用到 docker 的全部改成了 vm , 方便节点间迁移,即便是迁移到其他 虚拟化平台也 OK 。
    zhengxian
        25
    zhengxian  
       159 天前
    我在 Ubuntu 虚拟机上跑 docker ,只要属主机够强,根本不用在乎虚拟那点损耗
    986244073
        26
    986244073  
       159 天前
    我是在 j4125 里面装 arch 然后装 docker
    dann73580
        27
    dann73580  
       113 天前
    不再意损耗的话,当然可以 vm 里跑 docker 了(记得 cpu 要选 host 获取最大性能)
    但 LXC 内跑 docker 也有他的优势,经过长期实测,LXC 的性能好了不止一点半点,同时常规的 docker 项目完全可以跑起来,没啥兼容性问题;备份也比较方便好用。
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1082 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 20:20 · PVG 04:20 · LAX 13:20 · JFK 16:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.