- Docker:是「单个容器怎么跑」的工具
- 镜像、容器、网络、数据卷、Dockerfile 这些都是 Docker 的核心概念。
- Docker Compose:是「一堆容器怎么一起跑」的编排工具
- 它是站在 Docker 之上,帮你把多个
docker run写成一个 YAML 文件,统一管理生命周期。官方也明确说 Compose 是基于 Docker 引擎的
- 它是站在 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