docker-rollout
3,380
Stars
106
Forks
15
Watchers
8
Open Issues
MIT
许可证
Shell
语言
2023-02-06
创建时间
2026-10-28
最近更新
项目能做什么
支持 Docker Compose 服务的零停机滚动更新部署工具。
来源:AI 基于仓库事实生成
· 内容以仓库实际 README 为准
使用说明 查看原始 README 原仓库文档
中文使用说明暂未生成。下面保留原仓库 README 摘录,命令与配置均以原文为准。
原始 README 摘录(英文原文,节选前 3000 字符)
<div align="center"> <h1> <code>docker rollout</code><br> Zero Downtime Deployment for Docker Compose </h1> [Documentation](https://docker-rollout.wowu.dev) </div> Docker CLI plugin that updates Docker Compose services without downtime. Simply replace `docker compose up -d <service>` with `docker rollout <service>` in your deployment scripts. This command will scale the service to twice the current number of instances, wait for the new containers to be ready, and then remove the old containers. - [Features](#features) - [Installation](#installation) - [Usage](#usage) - [⚠️ Caveats](#️-caveats) - [Sample deployment script](#sample-deployment-script) - [Draining old containers](#draining-old-containers) - [Community integrations](#community-integrations) - [Why?](#why) - [License](#license) ## Features - ⏳ Zero downtime deployment for Docker Compose services - 🐳 Works with Docker Compose and `docker-compose` - ❤️ Supports Docker healthchecks out of the box ## Installation ```bash # Create directory for Docker cli plugins mkdir -p ~/.docker/cli-plugins # Download docker-rollout script to Docker cli plugins directory curl https://raw.githubusercontent.com/wowu/docker-rollout/main/docker-rollout -o ~/.docker/cli-plugins/docker-rollout # Make the script executable chmod +x ~/.docker/cli-plugins/docker-rollout ``` If you use docker with sudo, or want to make docker-rollout available for all users, install it to `/usr/local/lib/docker/cli-plugins/` instead. ## Usage Run `docker rollout <name>` instead of `docker compose up -d <name>` to update a service without downtime. If you have both `docker compose` plugin and `docker-compose` command available, docker-rollout will use `docker compose` by default. ```bash $ docker rollout -f docker-compose.yml <service-name> ``` Options: - `-f | --file PATH` - (not required) - Path to compose file, can be specified multiple times, as in `docker compose`. - `-t | --timeout SECONDS` - (not required) - Timeout in seconds to wait for new container to become healthy, if the container has healthcheck defined in `Dockerfile` or `docker-compose.yml`. Default: 60 - `-w | --wait SECONDS` - (not required) - Time to wait for new container to be ready if healthcheck is not defined. Default: 10 - `--wait-after-healthy SECONDS` - (not required) - Time to wait after new container is healthy before removing old container. Works when healthcheck is defined. Gives the proxy time to register the new container. Default: 3 - `--env-file PATH` - (not required) - Path to env file, can be specified multiple times, as in `docker compose`. - `-p | --project-name NAME` - (not required) - Project name, as in `docker compose`. - `--profile NAME` - (not required) - Specify a profile to enable, as in `docker compose`. - `--pre-stop-hook CMD` - (not required) - Command to run in the old container before stopping it. Can be used for marking the container as unhealthy to make proxy stop sending requests to it, see [container dr阅读完整原文
项目深度分析 AI 生成
轻量化 Docker Compose 零停机部署控制台(自托管/SaaS)
| 产品构想 | 围绕 docker-rollout 的滚动更新能力,开发带 Web UI 的部署管理面板。自动接管 Traefik 配置、健康检查与 pre-stop-hook 排空逻辑,提供一键触发更新、实时日志查看、镜像版本管理及发布失败自动回滚能力。 |
| 核心功能 | 1. 自动生成并维护无端口冲突的 Compose 与反向代理配置;2. 集成零停机滚动发布与失败自动回滚;3. 容器健康状态与发布历史可视化;4. Webhook/GitHub Actions 触发自动部署。 |
| 目标用户 | 不想维护复杂 YAML 和 Shell 脚本、希望拥有类似 Heroku/Vercel 体验但部署在自有 VPS 上的独立开发者与中小团队(AI推测)。 |
| 难度/周期 | 中等(需处理 SSH 远程管理或 Agent 通信、Traefik 动态路由配置及状态机回滚) · 6-10 周做出 MVP(AI推测) · 成本:低(主要为开发时间及少量测试服务器、域名与基础架构开销) |
| 收费模式 | 开源基础版 + 付费 Pro 授权(按服务器节点数/团队席位订阅,或一次性买断自托管许可证)(AI推测)。 |
| 竞争风险 | 面临 Coolify、Dokku、CapRover 等成熟开源轻量 PaaS 项目的直接竞争(AI推测)。 |
| 依据 | AI推测 |
生产级 Compose 零停机套件与自动化运维脚手架(付费模板/CLI)
| 产品构想 | 针对 README 中提到的痛点(不能写 container_name/ports、需配代理、排空复杂),打包经过生产验证的开箱即用套件,涵盖 Traefik + 零停机脚本 + 优雅停机排空脚本 + SSL 自动续签 + 失败告警及回滚 CLI。 |
| 核心功能 | 1. 预配置的 Traefik/nginx-proxy 与 Compose 模板;2. 常见语言栈(Node/Python/Go)的优雅排空与健康检查范式;3. 集成 GitHub Actions/GitLab CI 的一键部署流水线;4. Slack/飞书/邮件发布结果通知。 |
| 目标用户 | 希望快速将 Docker Compose 服务上线到生产环境、缺乏专职运维的小型创业团队或外包开发团队(AI推测)。 |
| 难度/周期 | 较低(侧重工程最佳实践封装、跨环境兼容性测试与文档编写) · 2-4 周(AI推测) · 成本:极低(无持续服务器运维成本) |
| 收费模式 | 一次性购买商业代码包/模板库 + 可选的高级企业部署支持或定制服务(AI推测)。 |
| 竞争风险 | 模板类产品容易被复制传播,用户复购率低,且技术栈差异大导致售后支持成本高(尚需验证的假设)。 |
| 依据 | 尚需验证的假设 |
增强型滚动发布与回滚插件(CLI 商业扩展/CI 市场应用)
| 产品构想 | 在原生扩展(先扩容后缩容)基础上,开发更健壮的二进制 CLI 工具或 GitHub Action 商业插件,补足原脚本缺失的自动回滚、数据库迁移前置锁、多节点串行发布和部署前校验(检测端口冲突/container_name 违规)等功能。 |
| 核心功能 | 1. Compose 文件静态检查(拦截 ports 和 container_name 等会导致失败的配置);2. 超时或健康检查失败时自动回滚至上一版本镜像;3. 支持数据库迁移任务钩子与并发锁;4. 多节点 SSH 编排部署。 |
| 目标用户 | 已经使用 CI/CD 自动部署 Docker Compose,但遭遇过发布卡死或配置误写导致停机的工程团队(AI推测)。 |
| 难度/周期 | 中等(需要用 Go/Rust 重写以提升健壮性与跨平台分发体验) · 4-8 周(AI推测) · 成本:低(主要是研发与测试环境成本) |
| 收费模式 | GitHub Marketplace 付费 Action 订阅,或基础 CLI 免费、企业多节点编排与审计功能收费(AI推测)。 |
| 竞争风险 | 原项目以 MIT 协议开源且仅单文件,极简主义用户可能认为原生脚本已够用,对增强版付费意愿不足(尚需验证的假设)。 |
| 依据 | 数据支持的判断 |
AI 基于仓库公开数据分析生成,含推测成分,不构成收益承诺。
报告会保存到 个人中心
竞品与相似项目 GitHub Search 真实检索
相似项目数据正在完善中,暂不展示(避免误导)
项目优势与风险
| 技术成熟度 | 创建于 2023-02-06,近 30 天仍在推送,发布过 14 个 Release |
| 社区活跃 | Star 3,380 / Fork 106 / Issue 8(数据支持,可自行核实) |
| 许可证 | MIT |
| 主要风险 | 上游项目方向可能变化;同赛道竞争者较多(见竞品表);热度与需求不完全等价 |
安装与使用
快速开始(以仓库 README 为准)
git clone https://github.com/wowu/docker-rollout.git cd docker-rollout docker compose up -d # 或参考 README 中的 docker run 命令
术语说明:Docker=应用容器(把程序和依赖打包运行);API Key=调用外部服务的密钥;Git Clone=把仓库代码下载到本地。常见错误:API Key 未配置 / 端口占用 / 数据库连接失败,多数项目在 README 的 Troubleshooting 章节有说明。