Windows 上用 Docker Compose 实现多容器一键启停,关键在于装对环境(Docker Desktop + WSL2)、写对配置(docker-compose.yml,version: '3.8',正确缩进与路径格式)、用对命令(docker compose up -d 启动,down 停止,-v 清理卷)。Windows 上用 Docker Compose 实现多容器一键启停,核心在于“装对环境 + 写对配置 + 用对命令”,不需要手动逐个 run 或 stop 容器。
确认 Docker Desktop 已就绪且启用 WSL2
docker compose 在 windows 上不是独立安装的工具,而是随 docker desktop 自动集成的。但必须确保它背后有可用的 docker 引擎——也就是 wsl2。
- 打开 PowerShell(管理员),运行 wsl --install 完成 WSL2 基础安装(若未装过)
- 启动 Docker Desktop,进入 Settings → General → 勾选 Use the WSL 2 based engine
- 在 Settings → Resources → WSL Integration 中,启用你正在使用的发行版(如 Ubuntu-22.04)
- 重启 Docker Desktop 后,在终端执行 docker info 和 docker compose version,两行都应正常输出版本号
写一个能跑通的 docker-compose.yml
这个文件是整个编排的“说明书”,放在项目根目录下,名字必须是 docker-compose.yml(注意后缀是 .yml,不是 .yaml)。
- 版本建议用 version: '3.8',兼容性好、功能全
- 每个服务用缩进定义,比如 web:、db:,服务名就是容器间通信时用的主机名
- 端口映射格式为 ["8080:80"],Windows 路径挂载要用正斜杠或双反斜杠,例如 ./data:/var/lib/mysql
- 如果服务有依赖关系(比如 Web 要等数据库就绪),用 depends_on 声明,但注意它只控制启动顺序,不等待服务真正就绪
用一条命令启动全部服务
进入 docker-compose.yml 所在目录,直接运行:
- docker compose up -d:后台启动所有服务,不打印日志(推荐日常使用)
- docker compose up:前台运行,实时显示各容器日志,适合首次调试
- docker compose ps:查看当前运行了哪些容器、状态是否为 Up
- docker compose logs web:单独看某个服务(如 web)的日志
停止、清理和重置也很简单
不再需要这套环境时,不用一个个 stop rm,Compose 提供配套命令:
- docker compose down:停止并移除容器、网络,但保留卷(数据还在)
- docker compose down -v:加上 -v 参数会一并删除关联的卷,彻底清空数据
- docker compose restart:重启所有服务,适合改完配置后快速生效
- 想重新拉镜像再启动?加 --pull:docker compose up -d --pull


















