???? 博客主页:瑕疵的****主页
???? Gitee主页:瑕疵的gitee主页
⏩ 文章专栏:《热点资讯》
使用Docker Compose构建多容器应用
- 引言
- Docker Compose 简介
- 安装 Docker Compose
- 创建基本配置
- 运行多容器应用
- 查看服务状态
- 停止和删除服务
- 高级用例
- 环境变量
- 多环境配置
- 自定义网络
- 实际案例
- 总结
引言
docker-compose.yml
文件和常见用例等内容。
Docker Compose 简介
docker-compose.yml
),你可以配置应用程序的服务。然后,使用一个命令,就可以从配置中创建并启动所有服务。
安装 Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
创建基本配置
docker-compose.yml
文件,编写一个基本的 Docker Compose 配置。假设我们有一个简单的 Web 应用,包含一个 Web 服务和一个数据库服务:
version: '3.8'
services:
web:
build: ./web
ports:
- "5000:5000"
depends_on:
- db
db:
image: postgres:latest
environment:
POSTGRES_USER: example
POSTGRES_PASSWORD: example
POSTGRES_DB: example
volumes:
- db_data:/var/lib/postgresql/data/
volumes:
db_data:
运行多容器应用
docker-compose up
这将根据 docker-compose.yml
文件中的配置启动所有服务。你可以使用 -d
参数在后台运行服务:
docker-compose up -d
查看服务状态
docker-compose ps
停止和删除服务
docker-compose down
高级用例
环境变量
.env
文件中定义环境变量,并在
docker-compose.yml
文件中引用它们:
version: '3.8'
services:
web:
build: ./web
ports:
- "${WEB_PORT}:5000"
depends_on:
- db
db:
image: postgres:latest
environment:
POSTGRES_USER: ${DB_USER}
POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_DB: ${DB_NAME}
volumes:
- db_data:/var/lib/postgresql/data/
volumes:
db_data:
多环境配置
-f
参数指定多个配置文件:
docker-compose -f docker-compose.yml -f docker-compose.override.yml up -d
自定义网络
version: '3.8'
networks:
mynet:
services:
web:
build: ./web
ports:
- "5000:5000"
networks:
- mynet
db:
image: postgres:latest
environment:
POSTGRES_USER: example
POSTGRES_PASSWORD: example
POSTGRES_DB: example
volumes:
- db_data:/var/lib/postgresql/data/
networks:
- mynet
volumes:
db_data:
实际案例
- 微服务架构:构建复杂的微服务应用,管理多个服务的依赖关系。
- 开发环境:快速搭建和管理开发环境,提高开发效率。
- 测试环境:构建隔离的测试环境,确保测试的可靠性和一致性。
总结
Docker Compose 支持多环境配置和自定义网络,可以更好地管理服务之间的通信。