登录 注册

docker-rollout

去点 Star
开发者工具网络与基础设施效率与办公工具 deploymentdockerdocker-compose
3,378
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 真实检索

项目中文简介Stars语言
langgenius/dify 中文介绍暂未生成
Build Agentic workflows, RAG pipelines, with rich AI model a
160,981 Python
langflow-ai/langflow 中文介绍暂未生成
Langflow is a powerful tool for building and deploying AI-po
156,539 Python
ruvnet/ruflo 中文介绍暂未生成
🌊 The original agent harness. Deploy intelligent multi-playe
81,480 TypeScript
ansible/ansible 中文介绍暂未生成
Ansible is a radically simple IT automation platform that ma
71,396 Python
kelseyhightower/nocode 中文介绍暂未生成
The best way to write secure and reliable applications. Writ
66,044 Dockerfile
coollabsio/coolify 中文介绍暂未生成
An open-source, self-hostable PaaS alternative to Vercel, He
65,942 PHP
以上为通过 GitHub 官方 Search API 检索的相似项目,功能差异与优劣势需进一步人工确认,配置 AI 后可生成对比分析。

项目优势与风险

技术成熟度创建于 2023-02-06,近 30 天仍在推送,发布过 14 个 Release
社区活跃Star 3,378 / 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 章节有说明。