在自有 Docker 主机之间部署和扩展容器化应用,基于 WireGuard 组网,无需 Kubernetes 或 Swarm。
kubernetes/kompose
一款将 Docker Compose 文件转换为 Kubernetes 资源清单的命令行工具。
- Star
- 10,643
- Fork
- 818
- 未关闭 Issue
- 18
- 最近提交
- 21小时前
这是什么?
Kompose 面向已经习惯使用 docker-compose 的开发者,帮助他们把应用迁移到 Kubernetes。它读取 Compose 规范格式的文件,把其中的服务转换为 Deployment、Service 等 Kubernetes 资源,并用一条命令为每个资源生成独立的 YAML 文件。
由于部分 Compose 功能无法直接对应到 Kubernetes,转换结果并非完全一一对应,更适合作为上集群的第一步。生成的清单通常还需要手动调整。Kompose 使用 Go 编写,提供 Linux、macOS 和 Windows 的二进制版本,并支持 Bash、Zsh 和 Fish 的命令补全。
核心功能
- 01将 Compose 规范文件转换为 Kubernetes Deployment 和 Service。
- 02每个生成的资源分别写入独立的 YAML 文件。
- 03提供 Linux、macOS 和 Windows 的单文件二进制版本。
- 04支持 Bash、Zsh 和 Fish 的命令行自动补全。
适用场景
- 将本地 docker-compose 应用迁移到 Kubernetes 集群。
- 基于已有的 Compose 文件生成 Kubernetes 清单初稿。
- 开发环境使用 Compose、希望打通到 Kubernetes 部署路径的团队。
快速上手
- 1
从最新的 GitHub 发布版本下载 kompose 二进制文件
- 2
赋予二进制文件可执行权限并将其移动到 PATH 中
chmod +x kompose sudo mv ./kompose /usr/local/bin/kompose - 3
将 Compose 文件转换为 Kubernetes 清单
kompose convert -f compose.yaml
使用前须知
- 从 Compose 到 Kubernetes 的转换可能不完全精确,通常需要手动调整。
- 首选的二进制安装方式需要手动下载并配置 PATH。
收录于专题
标签
常见问题
- kompose 是什么?
- 一款将 Docker Compose 文件转换为 Kubernetes 资源清单的命令行工具。 Kompose 面向已经习惯使用 docker-compose 的开发者,帮助他们把应用迁移到 Kubernetes。它读取 Compose 规范格式的文件,把其中的服务转换为 Deployment、Service 等 Kubernetes 资源,并用一条命令为每个资源生成独立的 YAML 文件。
- kompose 可以免费使用吗?用的什么许可证?
- kompose 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- kompose 还在维护吗?
- 活跃维护中。kompose 最近一次提交是在 2026年11月6日。
- kompose 适合用来做什么?
- 将本地 docker-compose 应用迁移到 Kubernetes 集群。 基于已有的 Compose 文件生成 Kubernetes 清单初稿。 开发环境使用 Compose、希望打通到 Kubernetes 部署路径的团队。
- kompose 怎么安装和运行?
- 从最新的 GitHub 发布版本下载 kompose 二进制文件 赋予二进制文件可执行权限并将其移动到 PATH 中: chmod +x kompose sudo mv ./kompose /usr/local/bin/kompose 将 Compose 文件转换为 Kubernetes 清单: kompose convert -f compose.yaml
- 在哪里获取 kompose?
- 源代码和安装说明在 GitHub 上:https://github.com/kubernetes/kompose
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
5597+10 本周184GoApache-2.0维护活跃更新于 昨天
用一个 Compose 文件定义并运行多容器 Docker 应用的命令行工具。
3.9万+94 本周5902GoApache-2.0维护活跃更新于 昨天
一套免费、社区维护的 Docker 实践教程与实验,覆盖入门到进阶。
80372167JavaScriptApache-2.0更新于 2个月前
在 macOS 和 Linux 上以极简配置运行 Docker、containerd 或 Incus 容器的轻量工具。
3.2万+94 本周638GoMIT更新于 25天前
开源容器管理平台,帮助团队在各种环境中运行和管理 Kubernetes 集群。
2.6万+19 本周3227GoApache-2.0更新于 17小时前
面向 Kubernetes 的企业级云原生应用平台,涵盖 DevOps、微服务治理与多云管理。
2759380GoApache-2.0更新于 11天前