Docker Compose 进阶:如何用配置文件管理复杂容器环境
很多人用Docker只会docker run一个个启动容器,今天教你怎么用Docker Compose配置文件来管理一整套服务。
为什么要用Compose
想象一下你要部署一个家庭影院系统:Jellyfin、qbittorrent、Sonarr、Radarr……一个一个启动很麻烦,用Compose只需要一个docker-compose.yml文件,一条命令全启动。
基础配置怎么写
version: '3.8'
services:
jellyfin:
image: jellyfin/jellyfin
container_name: jellyfin
volumes:
- ./config:/config
- /mnt/media:/media
ports:
- "8096:8096"
restart: unless-stopped
保存为docker-compose.yml,在同级目录执行docker-compose up -d,容器就启动了。
进阶技巧分享
1. 环境变量管理
用.env文件存储敏感信息,配置里用${变量名}调用,避免把密码写进配置文件。
2. 网络隔离
不同项目用不同网络段,避免IP冲突:
networks:
frontend:
driver: bridge
backend:
driver: bridge
3. 健康检查
给关键服务加健康检查,容器挂了会自动重启:
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8096"]
interval: 30s
timeout: 10s
retries: 3
常见坑点
- 端口冲突:先
docker ps检查哪个端口被占用了 - 路径写错:建议用绝对路径或者用
${PWD}确保路径正确 - 权限问题:有些容器需要特定用户权限,记得加
user: "1000:1000"
更多Docker和NAS教程,可以去nucnas.top看看,里面有详细的步骤截图。
有问题评论区见。