Docker Compose从安装到使用详细过程
作者:吐个泡泡v
Docker Compose是Docker官方提供的一个工具,用于定义和运行多容器 Docker应用程序,本文给大家介绍Docker Compose从安装到使用详细过程,感兴趣的朋友跟随小编一起看看吧
在现代容器化应用开发中,Docker Compose 是一个不可或缺的工具,它能够帮助我们轻松定义和运行多容器的 Docker 应用程序。
一、什么是 Docker Compose?
Docker Compose 是 Docker 官方提供的一个工具,用于定义和运行多容器 Docker 应用程序。通过一个 YAML 文件(docker-compose.yml),我们可以配置应用程序的服务,然后使用一个命令就可以从配置中创建并启动所有服务。官网直通车
Docker Compose 的优势
- 简化配置:通过一个配置文件管理多个容器
- 一键部署:一条命令启动整个应用栈
- 环境一致性:开发、测试、生产环境配置统一
- 服务编排:自动处理服务间的依赖关系
二、安装 Docker Compose
1.在 Linux 上安装
(1)方法一:使用包管理器安装(推荐)
对于 Ubuntu/Debian 系统:
# 更新包索引 sudo apt update # 安装 Docker Compose 插件 sudo apt install docker-compose-plugin # 验证安装 docker compose version
对于 CentOS/RHEL/Fedora 系统:
# CentOS/RHEL 8+ sudo yum install docker-compose-plugin # Fedora sudo dnf install docker-compose-plugin # 验证安装 docker compose version
(2)方法二:下载二进制文件
# 下载最新版本的 Docker Compose sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose # 添加执行权限 sudo chmod +x /usr/local/bin/docker-compose # 验证安装 docker-compose --version
2.在其他平台安装
- macOS:如果使用 Docker Desktop,已经包含 Docker Compose
- Windows:如果使用 Docker Desktop,已经包含 Docker Compose
三、Docker Compose 基本使用
1. 创建 docker-compose.yml 文件
version: '3.8'
services:
web:
image: nginx:latest
ports:
- "8080:80"
volumes:
- ./html:/usr/share/nginx/html
depends_on:
- db
db:
image: mysql:8.0
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: myapp
volumes:
- db_data:/var/lib/mysql
volumes:
db_data:2. 常用命令详解
# 启动所有服务 docker compose up # 后台启动服务 docker compose up -d # 停止服务并清理容器 docker compose down # 查看运行状态 docker compose ps # 查看日志 docker compose logs # 重新构建服务 docker compose build # 重启服务 docker compose restart
四、实际应用示例
1.构建一个完整的 Web 应用环境
version: '3.8'
services:
# 前端服务
frontend:
image: node:16
working_dir: /app
volumes:
- ./frontend:/app
ports:
- "3000:3000"
command: npm start
environment:
- REACT_APP_API_URL=http://backend:5000
depends_on:
- backend
# 后端服务
backend:
build: ./backend
ports:
- "5000:5000"
environment:
- DATABASE_URL=postgresql://user:pass@db:5432/mydb
- REDIS_URL=redis://redis:6379
depends_on:
- db
- redis
# 数据库
db:
image: postgres:13
environment:
POSTGRES_DB: mydb
POSTGRES_USER: user
POSTGRES_PASSWORD: pass
volumes:
- postgres_data:/var/lib/postgresql/data
ports:
- "5432:5432"
# 缓存
redis:
image: redis:alpine
ports:
- "6379:6379"
volumes:
postgres_data:2.使用环境变量
创建 .env 文件:
DB_HOST=localhost DB_PORT=5432 TAG=v1.0
在 docker-compose.yml 中使用:
version: '3.8'
services:
app:
image: myapp:${TAG:-latest}
environment:
- DB_HOST=${DB_HOST}
- DB_PORT=${DB_PORT}
env_file:
- .env3.高级使用技巧
多环境配置管理
# 开发环境 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和docker-compose区别
1.安装docker compose
sudo apt install docker-compose-plugin # 使用方式:docker compose(注意中间有空格)
2.安装docker-compose
sudo apt install docker.io docker-compose # 使用方式:docker-compose(连写,带横线)
3.详细对比分析
特性 | docker-compose-plugin | docker-compose |
|---|---|---|
安装命令 |
|
|
官方推荐 | ✅ Docker官方推荐的新方式 | 传统方式 |
维护状态 | 积极维护 | 逐渐被替代 |
功能完整性 | 完全兼容 | 完全兼容 |
更新频率 | 更频繁 | 较慢 |
总的来说docker-compose是v1版本,docker compose是v2版本,官方推荐用新版的。
到此这篇关于Docker Compose 详解:从安装到使用的完整指南的文章就介绍到这了,更多相关Docker Compose安装使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
