抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

之前我利用打包好的LAMP Docker镜像搭建过一次WordPress博客平台,但是之后使用中每次服务器重启后,网站不知为何经常遇到起不来的情况,这次利用Docker-compose重新搭建一遍。

准备工作

搭建环境如下:

  • CentOS 7.9

安装Docker:

1
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

安装最新版本Docker-compose(目前为2.9.0):

1
2
3
curl -L "https://github.com/docker/compose/releases/download/v2.9.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

利用Docker-compose建立容器

建立工作目录并进入:

1
mkdir ~/webapp && cd ~/webapp

编写 docker-compose.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
version: '3.3'
services:
db:
image: mysql:latest
volumes:
- "./mysql_data:/var/lib/mysql"
- "./mysql_conf:/etc/mysql/conf.d"
- "./mysql_log:/var/log/mysql"
restart: always
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: your-root-password
MYSQL_DATABASE: WordPress
MYSQL_USER: wordpress
MYSQL_PASSWORD: your-password
wordpress:
depends_on:
- db
links:
- db
image: webdevops/php-apache:8.0-alpine
ports:
- "8000:80"
- "4430:443"
volumes:
- "./wordpress:/app"
restart: always

配置WordPress

下载WordPress并解压修改权限:

1
wget -c https://cn.wordpress.org/latest-zh_CN.tar.gz -O - | tar -xz && chmod -R 777 wordpress

进入wordpress文件夹,将 wp-config-sample.php 复制一份,命名为 wp-config.php ,修改其中参数:

1
2
3
cd wordpress
cp wp-config-sample.php wp-config.php
vi wp-config.php

找到这段代码,修改配置如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// ** Database settings - You can get this info from your web host ** //
/** WordPress使用的数据库名称 */
define( 'DB_NAME', 'WordPress' );

/** 数据库用户名 */
define( 'DB_USER', 'wordpress' );

/** 数据库密码 */
define( 'DB_PASSWORD', 'your-password' );

/** 数据库主机名 */
define( 'DB_HOST', 'db' );

/** 用于创建数据库表的数据库字符集 */
define( 'DB_CHARSET', 'utf8' );

/** 数据库排序规则,不修改 */
define( 'DB_COLLATE', '' );

启动容器并访问测试

执行以下代码启动容器:

1
docker-compose -f "docker-compose.yml" up -d

浏览器访问服务器IP:8000端口测试,如显示配置WordPress界面,即为配置成功。

疑难解答

  1. MySQL 容器启动后提示:[Warning] [MY-013360] [Server] Plugin sha256_password reported: ''sha256_password' is deprecated and will be removed in a future release. Please use caching_sha2_password instead'

    docker-compose.yml 中,db容器下加一行如下代码:

    1
    command: --default-authentication-plugin=mysql_native_password

评论