数据卷与网络
一个网站往往要多个容器:Nginx + PHP + MySQL + Redis。Docker Compose 用一个 YAML 文件定义全部服务,一条命令全部启动。宝塔里跑 Docker 项目就是它。
compose.yml
services 定义每个容器:image、ports、volumes、environment、depends_on 依赖关系。version 字段新版可省。
常用命令
docker compose up -d 启动;down 停止删除;logs 看日志;ps 看状态;build 重建镜像。
代码示例
# docker-compose.yml
services:
web:
image: nginx:alpine
ports:
- "80:80"
volumes:
- ./html:/usr/share/nginx/html
depends_on:
- php
php:
image: php:8-fpm
volumes:
- ./html:/var/www/html
db:
image: mysql:8
environment:
MYSQL_ROOT_PASSWORD: secret
MYSQL_DATABASE: app
volumes:
- dbdata:/var/lib/mysql
volumes:
dbdata:
# 使用
# docker compose up -d 启动全部
# docker compose ps 看状态
# docker compose logs -f php 看某服务日志
# docker compose down 停止并清理