一个超级牛皮的容器管理工具 Container Desktop

网络 开发工具 开源
Container Desktop 是 Podman 的跨平台桌面伴侣工具,提供轻量级图形界面,简化容器管理操作。

一、介绍

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:

# 首先确保已安装 WSL2
wsl --install

# 在 WSL2 中安装 Podman
wsl -d Ubuntu-20.04
sudo apt-get update
sudo apt-get -y install podman

# 下载并安装 Container Desktop
# 从 GitHub releases 页面下载最新的 Windows 安装文件(.exe)
# 运行安装文件完成安装
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.

2. macOS 平台安装

macOS 用户可以使用以下命令安装:

# 使用 Homebrew 安装 Podman
brew install podman

# 初始化并启动 Podman 虚拟机
podman machine init
podman machine start

# 下载 Container Desktop
# 从 GitHub releases 页面下载最新的 macOS 安装文件(.dmg)
# 打开 DMG 文件,将应用拖到 Applications 文件夹
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.

3. Linux 平台安装

Linux 用户安装过程如下:

# Debian/Ubuntu 系统安装 Podman 及依赖
sudo apt-get update
sudo apt-get -y install podman aardvark-dns passt

# Fedora 系统安装 Podman 及依赖
sudo dnf install podman aardvark-dns passt

# 下载 Container Desktop
# 从 GitHub releases 页面下载最新的 Linux 安装文件(.AppImage 或 .deb)

# 对于 AppImage 文件
chmod +x Container.Desktop-*.AppImage
./Container.Desktop-*.AppImage

# 对于 .deb 包
sudo dpkg -i container-desktop_*.deb
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.

4. 远程连接配置

如需配置远程主机连接,需执行以下步骤:

# 在远程服务器上启用 Podman socket
systemctl --user enable --now podman.socket

# 在本地 ~/.ssh/config 中配置 SSH 连接
# 添加如下内容:
Host remote-podman-server
    HostName 192.168.1.100
    User username
    IdentityFile ~/.ssh/id_rsa
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.

六、核心功能特性与使用示例

Container Desktop 提供了丰富的功能,使容器管理变得更加直观和高效。根据最新的 5.2.13 版本更新,该项目在功能上有了显著增强。

1. 基本容器管理

以下是创建和管理 Nginx 容器的示例:

# 在 Container Desktop 中创建 Nginx 容器的等效命令
podman run -d --name nginx-web -p 8080:80 -v ./website:/usr/share/nginx/html nginx:alpine
  • 1.
  • 2.

通过 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. 数据卷管理

创建和管理持久化卷的示例:

# 创建一个名为 data-volume 的卷
podman volume create data-volume

# 使用该卷启动 MySQL 容器
podman run -d --name mysql-db -e MYSQL_ROOT_PASSWORD=password -v data-volume:/var/lib/mysql mysql:8
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

在 Container Desktop 中,用户可以在 Volumes 选项卡中查看、创建和管理所有卷,并可以直接将卷挂载到新容器中。

4. 网络配置示例

创建自定义网络并连接容器:

# 创建一个名为 app-network 的网络
podman network create app-network

# 将容器连接到该网络
podman run -d --name api-service --network app-network api-image:latest
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

在 Container Desktop 中,用户可以图形化管理网络,创建新网络并设置容器的网络连接。

七、高级配置与实用技巧

1. 多主机管理

Container Desktop 支持管理多个 Podman 主机,包括本地和远程主机。以下是配置多主机的步骤:

  • 在主界面点击"Connections"
  • 选择"Add Connection"
  • 输入连接名称,选择连接类型(本地/SSH)
  • 对于 SSH 连接,提供主机地址、用户名和密钥
  • 测试连接并保存

这允许用户在一个界面中管理多个环境中的容器,非常适合管理开发、测试和生产环境。

2. 构建自定义镜像

使用 Container Desktop 构建自定义镜像的最佳实践:

# 示例 Dockerfile
FROM alpine:latest
RUN apk add --no-cache nginx
COPY ./website /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.

在 Container Desktop 中,用户可以:

  • 选择包含 Dockerfile 的目录
  • 设置镜像名称和标签
  • 添加构建参数(如需)
  • 点击"Build"开始构建过程
  • 查看实时构建日志

3. 容器编排示例

Container Desktop 可以与 Podman-Compose 配合使用,管理多容器应用:

# docker-compose.yml 示例
version:'3'
services:
web:
    image:nginx:alpine
    ports:
      -"8080:80"
    volumes:
      -./website:/usr/share/nginx/html
    depends_on:
      -api
api:
    build:./api
    ports:
      -"3000:3000"
db:
    image:postgres:13
    environment:
      POSTGRES_PASSWORD:example
    volumes:
      -db-data:/var/lib/postgresql/data
volumes:
db-data:
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.

在 Container Desktop 中,用户可以导入这个 compose 文件,然后一键启动整个应用栈。

八、截图

九、总结与建议

Container Desktop 是 Podman 的跨平台桌面伴侣工具,提供轻量级图形界面,简化容器管理操作。它支持跨平台开发和远程管理,适合初学者学习、开发者高效管理容器以及系统管理员确保系统安全。虽然作者推荐官方 Podman Desktop,但 Container Desktop 的特定功能和历史价值仍使其成为值得探索的选择。作为开源工具,它展示了技术创新和开源精神的实际应用,丰富了容器管理工具的生态系统,为开发者提供了更多灵活性和选择。

十、地址

https://github.com/iongion/container-desktop

责任编辑:赵宁宁 来源: IT运维技术圈
相关推荐

2021-12-31 10:40:48

JarbootJavaGitHub

2019-07-22 20:03:23

Docker操作系统Linux

2025-04-11 08:20:00

NetQuality网络质量检测网络性能

2018-11-09 09:40:52

2025-01-08 06:00:00

Argus开源安全检查工具

2013-09-12 10:03:09

项目管理项目管理工具

2013-09-12 10:19:03

移动项目管理

2011-08-12 10:38:09

MongoDB

2011-11-10 09:53:52

项目管理

2022-01-10 10:23:00

云计算云成本工具

2025-04-17 04:00:00

SQLite-WebSQLite数据库

2019-12-03 10:46:46

CIO项目管理工具

2010-08-25 10:50:14

Linux命令

2023-01-31 14:23:20

云成本管理工具云计算

2015-03-12 10:47:45

云存储云存储管理工具

2023-03-07 14:21:57

2011-04-13 16:21:22

SQL Server管理

2010-05-25 18:36:54

MySQL管理工具

2022-06-23 14:12:06

业务流程管理应用软件工具

2009-04-24 21:13:45

服务器虚拟化Vmware
点赞
收藏

51CTO技术栈公众号