本文介绍了基于 Docker 在本地环境部署 WordPress 的方法,这种方法具有可移植性强、不污染主机环境、便于版本管理等优势。
安装 Docker 和 Docker Compose
Docker Compose 是一个用于定义和管理多个 Docker 容器的工具。它允许您使用简单的 YAML 文件来描述应用程序的组件、服务和它们之间的依赖关系,并通过一条命令将它们一起启动、停止和管理。
Windows 和 Mac 版的 Docker Desktop 已经自带了 Docker Compose。
创建项目
创建项目文件夹:在任意位置创建一个新文件夹,例如 LocalWordPress
。
创建 Docker Compose 文件:创建 docker-compose.yml
文件,并将以下内容复制到该文件中:
version: '3'
services:
db:
image: mysql:8.0
volumes:
- ./mysql:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:6.2.2
ports:
- '8000:80'
volumes:
- ./wordpress:/var/www/html
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
下面逐行解析这个文件。
version: '3'
services:
version: '3'
是 Docker Compose 文件的版本;services:
下定义了将要创建的服务列表。在此例中,有两个服务:db
和 wordpress
,这两个服务将根据其中的配置再拉取镜像创建容器。
db:
image: mysql:8.0
volumes:
- ./mysql:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
在服务 db
中:
image: mysql:8.0
制定了 MySQL 版本(也可以写成latest
,表示使用最新版本,但建议指定一个确定的版本使得每次构建一致);volumes
及后面一行表示将主机文件夹(LocalWordPress
)中的db_data
目录挂载到容器的/var/lib/mysql
目录,以持久化保存 MySQL 数据;restart: always
指定容器应在退出后始终重新启动;environment
一项设置了创建 MySQL 数据库时所需的环境变量,如 MySQL 的 root 密码、数据库名、用户名和密码等。
wordpress:
depends_on:
- db
image: wordpress:6.2.2
ports:
- '8000:80'
volumes:
- ./wordpress:/var/www/html
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
在服务 wordpress
中:
depends_on
指定该服务依赖于 db 服务;image
指定了 WordPress 的镜像版本;ports
以及8000:80
表示将主机(宿主机)的 8000 端口映射到容器的 80 端口(80 端口是用来访问网页的,但是不能占用主机的 80 端口,因此需要另外给一个主机端口来映射);volumes
及后面一行表示将主机文件夹(LocalWordPress
)中的wordpress
目录挂载到容器的/var/www/html
目录,以持久化保存网站数据;restart: always
指定容器应在退出后始终重新启动;environment
一项中,db:3306
表示使用名为 db 的容器作为数据库主机,并连接到该容器的 3306 端口(MySQL 默认端口);后面则是设置 WordPress 连接数据库时使用的用户名和密码。
启动容器
请先确保已启动 Docker。
启动容器:在项目文件夹目录的终端中执行以下命令以启动容器:
docker-compose up -d
该命令会下载所需的镜像并启动WordPress容器。这将启动 Docker Compose 文件中定义的所有服务,并将它们放在后台运行。-d
参数指定服务应该以“守护进程”模式运行,也就是在后台运行。
若要停止这些服务,可以在同一目录下运行以下命令:
docker-compose down
这将关闭并删除 Docker Compose 文件中定义的所有服务和相关容器。
也可以在 Docker Desktop 中操作。
安装 WordPress
完成上述步骤后,可以通过访问 http://localhost 来打开 WordPress 安装向导。按照提示完成安装过程,并设置所需的用户名、密码和站点信息。然后就可以正常使用了。
发表回复
要发表评论,您必须先登录。