Docker Compose Windows版安装与使用教程_windows docker-compose
一、Docker Compose简介
Docker Compose是Docker官方提供的容器编排工具,用于定义和运行多容器Docker应用。通过YAML文件声明服务、网络和卷,可一键启动复杂应用环境。
二、Windows环境安装步骤
1. 安装Docker Desktop
-
下载安装包
访问Docker官网 ,下载Windows版本安装程序。 -
运行安装程序
- 勾选 Enable WSL 2 Integration(提升性能)。
- 勾选 Use Docker Desktop as a non-root user(避免权限问题)。
-
验证安装
docker --version # 输出示例:Docker Desktop 4.24.1 docker compose version # 输出示例:Docker Compose version v2.22.0
2. 配置Windows环境
问题排查:
-
WSL 2未启用
wsl --install wsl --set-default-version 2
-
Hyper-V未启用
- 进入 控制面板 → 程序 → 启用或关闭Windows功能
- 勾选 Hyper-V 和 Windows Subsystem for Linux。
三、Docker Compose核心概念
docker-compose.yml
四、基础使用流程
1. 创建项目目录
mkdir my-docker-app cd my-docker-app
2. 编写docker-compose.yml
version: \'3.8\'services: web: image: nginx:latest ports: - \"8080:80\" volumes: - ./wwwroot:/usr/share/nginx/html depends_on: - redis redis: image: redis:alpine ports: - \"6379:6379\"
3. 启动服务
docker compose up -d # -d表示后台运行 docker compose ps # 查看运行中的容器
4. 停止服务
docker compose down # 删除容器、网络和依赖卷
五、高级配置示例
1. 环境变量分离
-
创建
.env
文件:MYSQL_ROOT_PASSWORD=root123
-
配置
docker-compose.yml
:services: mysql: environment: MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
2. 自定义网络
networks: app_net: driver: bridge services: web: networks: - app_net redis: networks: - app_net
六、常见问题解决方案
1. 端口冲突
# 查找占用端口的进程 netstat -ano | findstr :8080 # 结束进程(替换PID为实际进程ID)taskkill /F /PID 1234
2. 容器间通信失败
- 确保服务定义在同一网络:
networks: default: driver: bridge services: service1: networks: - default service2: networks: - default
七、企业级部署建议
-
多环境配置
# 开发环境 docker compose -f docker-compose.yml -f docker-compose.dev.yml up # 生产环境 docker compose -f docker-compose.yml -f docker-compose.prod.yml up
-
日志监控
docker compose logs -f [service_name]
-
卷管理
volumes: postgres_data: driver: local
八、命令速查表
docker compose up
docker compose up -d
docker compose down
docker compose build
docker compose restart
docker compose exec
九、总结
Docker Compose通过声明式配置简化多容器应用管理,适用于开发、测试和生产环境。掌握其核心概念和命令,可显著提升容器化部署效率。