Docker Compose 生成器

像码头吊装集装箱一样勾选服务:Web、Nginx、MySQL、PostgreSQL、Redis、RabbitMQ,配置端口与密码后实时生成 compose.yaml;自动写入 healthcheck 与 depends_on 条件、命名卷挂载和默认网络,下载即可 docker compose up -d。

服务堆场

compose.yaml 预览


        

② 编排模板 · 服务拓扑 · YAML 逐行解释 · 多格式导出

10 套常见堆场模板一键应用,生成结果自动绘出 服务拓扑 SVG;YAML 可逐行点击看解释,并支持导出 compose.yaml / .env / services.csv / 启动脚本。

堆场模板(点击应用)

服务拓扑(自绘 SVG)

YAML 逐行解释(点击行)

点击左侧任意一行,这里显示该字段的作用与注意事项。

多格式导出

生成成功后,这里显示所选格式的导出预览
.env 从 environment 提取;启动脚本包含 config、up、ps、logs、down 五步。

方案管理 · 数值对比 · 导出

调好的参数可存成方案随时载入,也能生成可分享链接;结果里的数值列会自动画成对比图,并支持导出 CSV / JSON。

最近方案 暂无

📦口径说明与常见误填

healthcheck 加就绪条件,起停顺序才真正可控

服务堆场
Web、Nginx、MySQL 8、PostgreSQL 16、Redis 7、RabbitMQ 六种常用服务勾选即用。
健康检查
自动生成 mysqladmin ping、redis-cli ping 等 healthcheck,配合 service_healthy 条件控制启动顺序。
卷与网络
数据库默认命名卷持久化,删容器不丢数据;所有服务挂进同一默认网络。
实时校验
MySQL root 密码必填、端口限 1 到 65535,不合法即时标红提示。
一键运行
下载 compose.yaml 放同目录执行 docker compose up -d 全部拉起。

这个工具解决什么问题

搭一套本地开发环境要写几十行 YAML,还容易漏 healthcheck 导致应用抢跑连不上库。本页像码头吊装一样勾选 Web、Nginx、MySQL、PostgreSQL、Redis、RabbitMQ,填好端口与密码后实时生成 compose.yaml,自动写入健康检查、depends_on 就绪条件、命名卷与默认网络,下载即可 docker compose up -d,配置全程浏览器本地生成。

三条编排守则

① depends_on 不等于等就绪:默认只控制创建顺序,必须配 condition: service_healthy 才是真正等待。

② 数据一定落命名卷:容器文件系统随删随丢,数据库挂 dbdata 之类命名卷才能保住数据。

③ 密码别明文进仓库:compose 里的密码可改用环境变量引用,配合 .env 文件与 gitignore 管理。

怎么用

  1. 第 1 步 · 勾服务填参数
    项目名加服务勾选,填宿主端口、数据库密码等参数(可先载入示例)。
  2. 第 2 步 · 看实时校验
    MySQL root 密码必填、端口限 1 到 65535,不合法即时提示。
  3. 第 3 步 · 预览 compose.yaml
    右侧实时生成 YAML,底部显示默认网络与卷挂载说明。
  4. 第 4 步 · 下载并一键启动
    下载 compose.yaml,在同目录执行 docker compose up -d 全部拉起。

更新记录

  • v1.0 2026-11-02
  • 2026-11-02 上线首个版本
  • 2026-11-02 新增 RabbitMQ 与 service_healthy 条件

常见问题

docker compose 怎么一键部署 MySQL 加 Redis?
把 db(mysql)与 cache(redis)勾选上,设好端口与 root 密码,生成后在同目录执行 docker compose up -d 即全部拉起;数据落在命名卷里,删容器不丢数据。
compose 和 Dockerfile 有什么区别?
Dockerfile 定义一个镜像怎么构建;compose.yaml 定义多个容器怎么编排(网络、卷、依赖、环境变量)。Web 服务通常用 build 引用 Dockerfile,其余服务直接用 image 拉官方镜像。
depends_on 启动顺序怎么控制?
depends_on 默认只控制先后创建,不等就绪。要真正控制顺序需配合健康检查,写 condition: service_healthy;本页生成的模板已带 mysqladmin ping、redis-cli ping 等 healthcheck。
compose 卷挂载怎么写?
数据持久化用命名卷(如 dbdata 挂到 /var/lib/mysql);挂配置或静态文件用绑定挂载(如 ./conf 挂到 /etc/nginx/conf.d)。相对路径以 compose 文件所在目录为基准,生成器两种都会写。
有在线生成 compose 文件的工具吗?
本页即纯浏览器生成:勾选服务、填端口密码,实时校验(MySQL 密码必填、端口限 1 到 65535),下载的 compose.yaml 可直接运行,不上传任何配置内容。

💬 留言板 0

全部留言需审核通过后展示
💬

还没有留言,来抢沙发吧!

✍️ 说点什么
0 / 500
图形验证码
👣 做完这一步,顺便看看
🏛️ 凯撒密码解密 凯撒密码解密 :1~25 位位移加解密、ROT13 一键转换… → 🔤 乱码转换器在线修复 乱码转换器在线 :把“锟斤拷”“�”“涓枃”“😀”等乱… → 📸 代码截图美化工具 在线代码转图片工具:粘贴或输入代码(支持 JavaScrip… → 🎨 WCAG 对比度检测工具 在线颜色对比度检测工具:输入前景文字色与背景色(支持 #he… →
全部工具 →