数据卷与网络

Docker 教程 · 第 6 章 · 6 次浏览

一个网站往往要多个容器: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          停止并清理