Hacker News 中文摘要

RSS订阅

在Proxmox 9.1中原生运行Docker容器(OCI镜像) -- Run Docker containers natively in Proxmox 9.1 (OCI images)

文章摘要

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。

功能特点

  1. 技术实现:Proxmox VE通过将Docker镜像转换为完整的LXC镜像来实现这一功能,使用了skopeo等工具进行转换。

  2. 当前限制

    • 仍处于技术预览阶段
    • 所有镜像层在创建容器时会被压缩为一个根文件系统
    • 不支持通过简单替换镜像来更新容器
    • 控制台通常只显示主初始化进程的输出
    • 升级容器需要手动操作数据卷并重新创建容器
  3. 使用方法

    • 首先从OCI注册表下载镜像到模板存储
    • 然后基于该镜像创建容器
    • 可以像普通LXC容器一样添加额外卷和配置

操作步骤

  1. 确保系统已升级至Proxmox VE 9.1.1或更高版本
  2. 在存储界面点击"从OCI注册表拉取"按钮
  3. 输入完整的容器镜像URL(如docker.io/eclipse-mosquitto)
  4. 创建容器时在"模板"选项卡选择已下载的OCI镜像
  5. 在"磁盘"选项卡添加额外卷(类似于Docker的-v选项)
  6. 完成其他常规配置后创建容器

使用体验

作者测试了eclipse-mosquitto和nginx等官方Docker镜像,均能成功运行。虽然控制台功能有限,但可以通过pct enter命令进入容器shell。环境变量配置需要在容器创建后在"选项"选项卡中设置。

这一功能将大大简化在Proxmox VE中运行容器化应用的流程,虽然目前还存在一些限制,但已经显著提升了使用效率。

(注:原文中的图片引用和部分技术细节已省略,保留了主要功能说明和使用方法)

评论总结

这篇评论主要围绕Proxmox容器管理展开讨论,观点如下:

  1. 使用体验方面:
  • 正面评价认为简化了网络配置:"no more dealing with macvlan or custom docker networks"(nirav72)
  • 但存在功能限制:"no easy way to update containers yet"(nirav72), "No compose file either"(dizhn)
  1. 技术方案争议:
  • 有用户质疑抽象层的必要性:"why this extra layer of abstractions is preferable"(caymanjim)
  • 认为Docker本身存在安全问题:"Docker has security issues if you're not careful"(caymanjim)
  1. 与其他方案比较:
  • 用户联想到FlyIO的方案:"Is this similar to what FlyIO is doing?"(k__)
  • 称赞Unraid的容器生态:"The whole apps/containers ecosystem is so well done"(haunter)
  1. 版本升级问题:
  • 用户表达对升级的担忧:"Kinda scared to think of what it would take to upgrade"(vladgur)
  • 同时提到版本更新信息:"#TIL Proxmox 9.1 is out"(vladgur)
  1. 技术细节讨论:
  • 指出容器转换方式:"They are converted to LXC images"(dizhn)
  • 发现错误代码异常:"not 418, 719"(ache)