Docker Compose 生成器
这套服务里运行什么
手写 docker-compose.yml 意味着要记住精确的缩进、为每个端口映射加上引号,还要知道你的 Compose 程序识别哪个版本字符串。本生成器让你通过简单的字段定义服务:名称、镜像、宿主机:容器端口映射和卷。输出符合现代 Compose 规范(不含 version 键)的有效 YAML 文件,并附带合理的默认值。
如何构建 Compose 文件
-
1
添加服务
为每个服务填写名称和镜像,再设置端口映射、数据卷、环境变量和重启策略。页面已经预填了两个服务,直接就能跑起来。
-
2
调整或删除行
直接编辑任意字段,用 + Service 按钮添加另一个服务,或删除不需要的行。
-
3
检查生成的 YAML
检查生成的 YAML:端口映射带引号,每个具名数据卷都会在文件末尾声明,并且省略 version 键,这正是现代 Compose 规范的写法。
-
4
复制文件
复制生成的 docker-compose.yml,粘贴到项目根目录。
现代 Compose 规范
Compose V2(随 Docker Desktop 和现代 Docker Engine 提供的插件)遵循 Compose 规范。version: 键已被弃用,生成器会省略它。顶层键为 services、networks、volumes、configs 和 secrets。
服务结构
一个接近生产环境的服务长这样:
services:
web:
image: nginx:1.27-alpine
restart: unless-stopped
ports:
- "80:80"
volumes:
- ./public:/usr/share/nginx/html:ro
depends_on:
app:
condition: service_healthy
networks:
- frontend
- backend
healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://localhost/health"]
interval: 30s
timeout: 5s
retries: 3
卷:绑定挂载与命名卷
- 绑定挂载(
./app:/var/www)把容器绑定到宿主机上的路径,本地开发非常方便,因为改动会立即生效。 - 命名卷(
pgdata:/var/lib/postgresql/data)由 Docker 管理,独立于任何宿主机路径,适合数据库以及任何你不希望被rm -rf误删的内容。 - 匿名卷 - 应避免。它能撑过重启,但执行
docker compose down -v时会毫无提示地消失。
网络
默认情况下 Compose 会创建一个以项目命名的网络,并把每个服务连接上去。在以下情况显式声明网络很有用:
- 你想把数据库与面向公网的服务隔离。
- 你需要带自定义子网的 bridge,以对接现有基础设施。
- 你想把容器接入已存在的外部网络(
external: true)。
应避免的常见错误
- version 键冲突。 顶部的
version: "3.8"会让 healthcheck 的start_interval等新功能在旧版 Compose 上失效;生成器会省略 version 键。 - 端口引号。
8080:80在某些边界情况下会被解析为 YAML 的 60 进制数;生成器始终为端口映射加引号。 - 硬编码的密钥。 直接写进 compose.yml 的密钥最终会被提交到 git。请把它们放在
env_file或平台的密钥存储中。 - 没有条件的 depends_on。 简单的
depends_on: [db]只等容器启动,不等服务就绪。请使用condition: service_healthy并为依赖项添加健康检查。
常见问题
当前的 Compose 规范(与 Docker Compose V2 一致)。文件省略 version: 键,这是现代 Compose 文件的写法。适用于 Docker Compose V2.22 及以上版本。
表单里不行。表单涵盖镜像、端口、数据卷、环境变量和重启策略,并会按 Compose 的要求声明服务挂载的所有具名数据卷。网络和健康检查请在生成的 YAML 里手动添加。
不会,此工具专注于 compose.yml。需要 Dockerfile 时,请使用 Dockerfile 生成器,它负责五种技术栈的基础镜像选择和 COPY/RUN 顺序。
不会。服务定义仅用于在此页面生成 YAML,不会被保存、上传或分享。
相关工具
ASCII 表参考
完整 ASCII 表,覆盖 0 到 127;列出每个代码的十进制、十六进制、八进制、二进制值和 HTML 数字字符引用写法,包括 NUL、LF、DEL。
HTML 字符参考
可搜索的 HTML 实体列表,含命名代码与数值代码,并支持一键复制特殊字符和符号。
键盘快捷键参考
搜索 macOS、Windows 和 Linux 上 VS Code、Chrome 以及使用 GNU Readline 的 Bash 的文档默认快捷键。
Markdown 图片生成器
生成带替代文本、title 属性和可选链接的 Markdown 图片语法。支持内联格式和引用格式输出。
IBAN 验证工具
在本地检查 IBAN 的注册国家长度、国内结构和 MOD 97-10 校验位。不上传数据,也不表示账户真实存在。
Luhn 算法校验工具
验证信用卡号、IMEI、SIN及其他受Luhn校验保护的号码。返回验证结果(通过或失败),并显示每个校验步骤及校验和计算过程。
此工具还提供其他语言版本
- Docker Compose 생성기 [KO]
- Docker Compose-generator [SV]
- Docker Compose-generator [NL]
- Generator Docker Compose [PL]
- Docker-Compose-Generator [DE]
- ตัวสร้าง Docker Compose [TH]
- Generador de Docker Compose [ES]
- Generator Docker Compose [ID]
- مولّد Docker Compose [AR]
- Générateur Docker Compose [FR]
- Docker Composeジェネレーター [JA]
- Gerador de Docker Compose [PT]
- Trình tạo Docker Compose [VI]
- Docker Compose Generator [EN]
- Generatore di Docker Compose [IT]
- Генератор Docker Compose [RU]
- Docker Compose Oluşturucu [TR]