Docker Compose 高级进阶:多容器编排完全指南
对于追求高效管理 NAS 资源的用户来说,Docker Compose 是实现多容器协同工作的最佳方案。
为什么选择 Docker Compose
在 NAS 环境中,我们通常需要同时运行多个服务:媒体服务器、下载工具、文件同步等。Docker Compose 可以:
- 一键启动:所有服务同时启动
- 版本管理:通过 YAML 文件版本控制
- 环境隔离:服务之间相互独立
- 简单维护:统一管理生命周期
常用命令
# 创建并启动容器
docker-compose up -d
# 停止并删除容器
docker-compose down
# 查看日志
docker-compose logs -f [服务名]
# 构建镜像
docker-compose build
# 重启服务
docker-compose restart
进阶配置
环境变量
services:
app:
environment:
- NODE_ENV=production
- DB_HOST=db
依赖关系
services:
web:
depends_on:
- db
- redis
健康检查
services:
db:
healthcheck:
test: ["CMD", "mysqladmin", "ping"]
interval: 10s
timeout: 5s
retries: 5
完整示例:家庭影院方案
version: '3.8'
services:
jellyfin:
image: jellyfin/jellyfin
container_name: jellyfin
ports:
- "8096:8096"
volumes:
- ./config:/config
- ./media:/media
restart: unless-stopped
qbittorrent:
image: lscr.io/linuxserver/qbittorrent
container_name: qbittorrent
ports:
- "8080:8080"
volumes:
- ./qb:/config
- ./downloads:/downloads
environment:
- PUID=1000
- PGID=1000
jackett:
image: lscr.io/linuxserver/jackett
container_name: jackett
ports:
- "9117:9117"
volumes:
- ./jackett:/config
- ./downloads:/downloads
性能优化
- 资源限制
services:
app:
deploy:
resources:
limits:
cpus: '0.5'
memory: 512M
- 日志管理
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
更多 NAS 教程请关注 NAS 频道。