未分类

【Docker Compose部署】生产Mysql和WordPress容器及Docker基本命令

2026-05-25 14:23 · 0 次阅读 · 1 分钟阅读 · 添加评论
📑 文章目录 收起 ▴
  • Docker:是「单个容器怎么跑」的工具
    • 镜像、容器、网络、数据卷、Dockerfile 这些都是 Docker 的核心概念。
  • Docker Compose:是「一堆容器怎么一起跑」的编排工具
    • 它是站在 Docker 之上,帮你把多个 docker run 写成一个 YAML 文件,统一管理生命周期。官方也明确说 Compose 是基于 Docker 引擎的

部署前,使用 docker compose down -v 彻底清理旧容器和匿名卷,确保环境纯净。

建个文件夹并进入
mkdir wp-docker
cd wp-docker
创建 docker-compose.yml 文件
nano docker-compose.yml  # 或者用 vim
配置代码(讲解)
services:
  # 服务1:MySQL 数据库
  db:
    image: mysql:8.0
    container_name: wp-mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: Lewis@262    # 设置你的MySQL密码
      MYSQL_DATABASE: wordpress         # 自动创建wordpress数据库
    volumes:
      - db_data:/var/lib/mysql          # 数据持久化,把数据库数据存到宿主机
    networks:
      - wp-network                      # 加入自定义网络

  # 服务2:WordPress 应用 (包含了 Nginx + PHP)
  wordpress:
    depends_on:
      - db                              # WP必须在MySQL启动后再启动
    image: wordpress:latest
    container_name: wp-app
    restart: always
    ports:
      - "8080:80"                       # 宿主机8080映射到容器80,与本地80端口隔离
    environment:
      WORDPRESS_DB_HOST: db:3306        # 注意!这里的db是上面MySQL的服务名,Docker内部DNS会自动解析
      WORDPRESS_DB_USER: root
      WORDPRESS_DB_PASSWORD: Lewis@262  # 必须与上面MYSQL_ROOT_PASSWORD一致
      WORDPRESS_DB_NAME: wordpress
    volumes:
      - wp_data:/var/www/html           # 网页文件持久化
    networks:
      - wp-network

# 定义数据卷
volumes:
  db_data:    # MySQL数据卷
  wp_data:    # WordPress数据卷

# 定义网络
networks:
  wp-network: # 自定义桥接网络,保证WP和MySQL在同一个局域网
    driver: bridge
执行一键部署

docker compose up -d

检查状态

docker compose ps

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注