一、介绍
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:
2. macOS 平台安装
macOS 用户可以使用以下命令安装:
3. Linux 平台安装
Linux 用户安装过程如下:
4. 远程连接配置
如需配置远程主机连接,需执行以下步骤:
六、核心功能特性与使用示例
Container Desktop 提供了丰富的功能,使容器管理变得更加直观和高效。根据最新的 5.2.13 版本更新,该项目在功能上有了显著增强。
1. 基本容器管理
以下是创建和管理 Nginx 容器的示例:
通过 Container Desktop 界面,用户可以点击"Create Container",然后填写相关信息:
- Image: nginx:alpine
- Name: nginx-web
- Port mapping: 8080:80
- Volume: ./website:/usr/share/nginx/html
2. 镜像管理示例
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