推荐答案
// www.javascriptcn.com code example
# 1. 创建一个目录用于存放 WordPress 文件
mkdir wordpress && cd wordpress
# 2. 创建一个 `docker-compose.yml` 文件
touch docker-compose.yml
# 3. 编辑 `docker-compose.yml` 文件,添加以下内容
version: '3.8'
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
volumes:
- ./wp-content:/var/www/html/wp-content
volumes:
db_data: {}
# 4. 启动 Docker 容器
docker-compose up -d本题详细解读
1. 创建目录和 docker-compose.yml 文件
首先,创建一个目录来存放 WordPress 的相关文件,并在该目录下创建一个 docker-compose.yml 文件。这个文件将定义 WordPress 和 MySQL 数据库的 Docker 服务。
2. 编写 docker-compose.yml 文件
在 docker-compose.yml 文件中,我们定义了两个服务:db 和 wordpress。
db 服务:使用 MySQL 5.7 镜像,并配置了数据库的环境变量,如
MYSQL_ROOT_PASSWORD、MYSQL_DATABASE、MYSQL_USER和MYSQL_PASSWORD。这些环境变量用于初始化 MySQL 数据库。wordpress 服务:使用最新的 WordPress 镜像,并配置了 WordPress 的环境变量,如
WORDPRESS_DB_HOST、WORDPRESS_DB_USER、WORDPRESS_DB_PASSWORD和WORDPRESS_DB_NAME。这些环境变量用于连接 WordPress 到 MySQL 数据库。
3. 启动 Docker 容器
使用 docker-compose up -d 命令启动 Docker 容器。-d 参数表示在后台运行容器。启动后,WordPress 将在本地的 8000 端口上运行。
4. 访问 WordPress
在浏览器中访问 http://localhost:8000,你将看到 WordPress 的安装页面。按照提示完成 WordPress 的安装即可。
5. 持久化数据
通过 volumes 配置,我们将 MySQL 数据库的数据持久化到 db_data 卷中,并将 WordPress 的 wp-content 目录映射到本地目录 ./wp-content,以便在容器重启或删除后数据不会丢失。