一个超级牛皮的容器管理工具 Container Desktop
一、介绍
Container Desktop 是一款为 Podman 设计的跨平台桌面伴侣应用程序,提供直观的图形化界面,简化容器管理。作为业界首个跨平台容器用户界面解决方案,它通过定制化连接技术解决了不同操作系统间的通信难题。在 Windows 上,它利用自定义 TCP 中继实现 WSL 与原生环境的通信;5.2.13 版本引入基于 SSH 中继的新方法,结合 Windows 命名管道,提升安全性并减少 TCP 服务暴露风险。该技术基于 gvisor-tap-vsock 改进,支持 Podman 和 Docker。尽管项目创建者坦言这是其首次开源尝试,并感受到开发挑战,但 Container Desktop 仍被视为“完成状态”,展现了其在容器管理领域的重要价值。
二、主要功能与使用
Podman Desktop 提供以下关键功能:
容器管理:创建、启动、停止和删除容器,查看日志并进入容器 shell。镜像处理:拉取、推送、构建和搜索容器镜像。Pod 管理:管理容器组(Pods),查看统一日志。Kubernetes 集成:本地部署和管理 Kubernetes 应用,生成和测试 Kubernetes YAML 配置。扩展点:开发和集成自定义扩展,增强功能。多引擎支持:同时处理多个容器引擎,如 Podman 和 Docker。三、平台要求与兼容性
Container Desktop 支持多个主流操作系统平台,每个平台有其特定的安装要求:
平台
最低要求
推荐配置
依赖组件
Linux
Kernel 4.0+
Kernel 5.15+
Podman 4.0+, aardvark-dns, passt
Windows
Windows 10
Windows 11 22H2
WSL2, Podman-WSL
macOS
macOS 11
macOS 13+
Lima 0.8+, QEMU
在 Linux 系统上,用户需要安装 podman,建议使用 4.0 或更高版本。许多发行版通常包含的是较旧版本的 podman,因此可能需要使用第三方仓库如 Aalvistack 获取最新版本。
在 Windows 系统上,可以直接安装 podman 或者在自定义的 WSL 发行版中按照 Linux 的安装说明配置最新版本的 podman。Container Desktop 提供了一个定制的 TCP 中继,用于将 Unix 套接字从 WSL 环境传递回 Windows 原生上下文。
在 macOS 系统上,用户可以选择安装 podman 或 lima。
四、与 Docker Desktop 的比较
Container Desktop vs Podman Desktop:
功能/特性
Container Desktop
Podman Desktop
开发状态
完成状态,个人维护
活跃开发,RedHat 官方支持
首次发布
较早(先驱)
较晚
跨平台支持
Windows, macOS, Linux
Windows, macOS, Linux
支持的容器引擎
Podman, Docker
主要是 Podman,可扩展
GUI 设计
简洁实用
现代化,功能丰富
社区活跃度
较低
较高
远程管理
支持 SSH 连接
支持但配置较复杂
WSL 集成
专门优化
基本支持
资源占用
轻量级
中等
Container Desktop vs Docker Desktop:
功能/特性
Container Desktop
Docker Desktop
开源状态
完全开源
部分开源,商业使用受限
许可证要求
自由使用
商业环境需订阅
支持的容器引擎
主要是 Podman,可用 Docker
仅 Docker
资源消耗
较低
较高
Kubernetes 集成
有限支持
内置支持
企业功能
基本功能
丰富的企业级功能
安装方式
轻量级安装
需要安装虚拟机组件
安全特性
基于 Podman 的无根容器
需要特权访问
GUI 完善度
基本完善
非常完善
不同平台上的性能对比:
平台
启动时间
内存占用
CPU 占用
稳定性
Windows (WSL2)
中等
中等 (约 200MB)
低-中
良好
macOS (Lima)
较慢
较高 (约 300MB)
中等
一般
Linux 原生
快速
低 (约 150MB)
低
优秀
五、安装部署指南
1. Windows 平台安装Windows 用户可以通过以下步骤安装 Container Desktop:
macOS 用户可以使用以下命令安装:
Linux 用户安装过程如下:
如需配置远程主机连接,需执行以下步骤:
六、核心功能特性与使用示例
Container Desktop 提供了丰富的功能,使容器管理变得更加直观和高效。根据最新的 5.2.13 版本更新,该项目在功能上有了显著增强。
1. 基本容器管理以下是创建和管理 Nginx 容器的示例:
通过 Container Desktop 界面,用户可以点击"Create Container",然后填写相关信息:
Image: nginx:alpineName: nginx-webPort mapping: 8080:80Volume: ./website:/usr/share/nginx/html2. 镜像管理示例Container Desktop 提供了直观的镜像管理界面,用户可以执行以下操作:
镜像搜索与拉取:在搜索框中输入"nginx",点击搜索,然后选择需要的标签版本并点击"Pull"镜像构建:选择包含 Dockerfile 的目录,设置标签为"myapp:1.0",点击"Build"镜像推送:选择本地镜像"myapp:1.0",点击"Push"推送到配置好的注册表3. 数据卷管理创建和管理持久化卷的示例:
在 Container Desktop 中,用户可以在 Volumes 选项卡中查看、创建和管理所有卷,并可以直接将卷挂载到新容器中。
4. 网络配置示例创建自定义网络并连接容器:
在 Container Desktop 中,用户可以图形化管理网络,创建新网络并设置容器的网络连接。
七、高级配置与实用技巧
1. 多主机管理Container Desktop 支持管理多个 Podman 主机,包括本地和远程主机。以下是配置多主机的步骤:
在主界面点击"Connections"选择"Add Connection"输入连接名称,选择连接类型(本地/SSH)对于 SSH 连接,提供主机地址、用户名和密钥测试连接并保存这允许用户在一个界面中管理多个环境中的容器,非常适合管理开发、测试和生产环境。
2. 构建自定义镜像使用 Container Desktop 构建自定义镜像的最佳实践:
在 Container Desktop 中,用户可以:
选择包含 Dockerfile 的目录设置镜像名称和标签添加构建参数(如需)点击"Build"开始构建过程查看实时构建日志3. 容器编排示例Container Desktop 可以与 Podman-Compose 配合使用,管理多容器应用:
在 Container Desktop 中,用户可以导入这个 compose 文件,然后一键启动整个应用栈。
八、截图
九、总结与建议
Container Desktop 是 Podman 的跨平台桌面伴侣工具,提供轻量级图形界面,简化容器管理操作。它支持跨平台开发和远程管理,适合初学者学习、开发者高效管理容器以及系统管理员确保系统安全。虽然作者推荐官方 Podman Desktop,但 Container Desktop 的特定功能和历史价值仍使其成为值得探索的选择。作为开源工具,它展示了技术创新和开源精神的实际应用,丰富了容器管理工具的生态系统,为开发者提供了更多灵活性和选择。
十、地址
https://github.com/iongion/container-desktop