文章摘要
Proxmox VE 9.1现在可以原生运行Docker容器/OCI镜像,不再需要虚拟机或变通方法。Proxmox VE是一个基于Debian的开源虚拟化平台,支持KVM虚拟机和LXC容器。新版本通过OCI镜像功能简化了Docker容器的运行,使其不再需要完整的操作系统环境。
文章总结
Proxmox VE 9.1原生支持运行Docker容器(OCI镜像)
Proxmox VE是一款基于Debian的开源虚拟化平台,类似于VMWare,能够运行KVM虚拟机和Linux容器(LXC)。最新发布的Proxmox VE 9.1版本新增了对Docker容器/OCI镜像的原生支持,用户无需再通过虚拟机或变通方法来运行Docker。
功能特点
技术实现:Proxmox VE通过将Docker镜像转换为完整的LXC镜像来实现这一功能,使用了skopeo等工具进行转换。
当前限制:
- 仍处于技术预览阶段
- 所有镜像层在创建容器时会被压缩为一个根文件系统
- 不支持通过简单替换镜像来更新容器
- 控制台通常只显示主初始化进程的输出
- 升级容器需要手动操作数据卷并重新创建容器
使用方法:
- 首先从OCI注册表下载镜像到模板存储
- 然后基于该镜像创建容器
- 可以像普通LXC容器一样添加额外卷和配置
操作步骤
- 确保系统已升级至Proxmox VE 9.1.1或更高版本
- 在存储界面点击"从OCI注册表拉取"按钮
- 输入完整的容器镜像URL(如docker.io/eclipse-mosquitto)
- 创建容器时在"模板"选项卡选择已下载的OCI镜像
- 在"磁盘"选项卡添加额外卷(类似于Docker的-v选项)
- 完成其他常规配置后创建容器
使用体验
作者测试了eclipse-mosquitto和nginx等官方Docker镜像,均能成功运行。虽然控制台功能有限,但可以通过pct enter命令进入容器shell。环境变量配置需要在容器创建后在"选项"选项卡中设置。
这一功能将大大简化在Proxmox VE中运行容器化应用的流程,虽然目前还存在一些限制,但已经显著提升了使用效率。
(注:原文中的图片引用和部分技术细节已省略,保留了主要功能说明和使用方法)
评论总结
这篇评论主要围绕Proxmox容器管理展开讨论,观点如下:
- 使用体验方面:
- 正面评价认为简化了网络配置:"no more dealing with macvlan or custom docker networks"(nirav72)
- 但存在功能限制:"no easy way to update containers yet"(nirav72), "No compose file either"(dizhn)
- 技术方案争议:
- 有用户质疑抽象层的必要性:"why this extra layer of abstractions is preferable"(caymanjim)
- 认为Docker本身存在安全问题:"Docker has security issues if you're not careful"(caymanjim)
- 与其他方案比较:
- 用户联想到FlyIO的方案:"Is this similar to what FlyIO is doing?"(k__)
- 称赞Unraid的容器生态:"The whole apps/containers ecosystem is so well done"(haunter)
- 版本升级问题:
- 用户表达对升级的担忧:"Kinda scared to think of what it would take to upgrade"(vladgur)
- 同时提到版本更新信息:"#TIL Proxmox 9.1 is out"(vladgur)
- 技术细节讨论:
- 指出容器转换方式:"They are converted to LXC images"(dizhn)
- 发现错误代码异常:"not 418, 719"(ache)