























使用Docker可以快速的创建一个WordPress容器。在快节奏的生活中,讲究的是效率、便捷、稳定。使用容器可以很方便的对WordPress平台的迁移与管理,接下来我将记录下来我搭建的过程。
我当前的环境是Debian 10,如果你是其他的Linux发行版,那么请不要完全按照本文进行操作,请变通(比如您是RHEL系,您需要将本文中的apt包管理器换做yum/dnf包管理器进行安装软件包)!如果遇到问题可以在底部留言给我。
如果您已经安装好Docker,并且不需要配置Docker Repository镜像加速的话,直接看第0x03部分就好了
由于 apt 源使用 HTTPS 以确保软件下载过程中不被篡改。因此,我们首先需要添加使用 HTTPS 传输的软件包以及 CA 证书。
sudo apt-get update
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg2 \
lsb-release \
software-properties-common
由于国内的网络政策,可能使用Docker官方源下载较慢,建议使用国内镜像源,详见下方注释。
为了确认所下载软件包的合法性,需要添加软件源的 GPG 密钥。
curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/debian/gpg | sudo apt-key add -
然后我们需要向apt source.list 中添加Docker-CE 软件源:
sudo add-apt-repository \
"deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/debian \
$(lsb_release -cs) \
stable"
更新 apt 软件包缓存,并安装 docker-ce
sudo apt-get update
sudo apt-get install docker-ce
以下系统目前是支持的:Ubuntu 16.04+、Debian 8+、CentOS 7
使用 systemd 的系统,请在 /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件)
{
"registry-mirrors": [
"https://dockerhub.azk8s.cn",
"https://hub-mirror.c.163.com"
]
}
编写的daemon.json文件一定要符合JSON规范,否则Docker无法启动
之后重新载入daemon配置文件并重启Docker服务
sudo systemctl daemon-reload
sudo systemctl restart docker

docker pull wordpress:latest
latest标签为当前最新的WordPress容器版本
MariaDB 5.5之前的版本完全参照Mysql版本,与Mysql语法兼容。
docker pull mariadb:5.5
docker run --name=mariadb -p 3306:3306 -e MYSQL_ROOT_PASSWORD=输入数据库root用户的密码 -v /etc/mariadb/data:/var/lib/mysql -d --restart=always mariadb:5.5
为了安全考量,我们需要创建一个单独的用户给WordPress使用。加下来我们需要进入到MariaDB容器中,并使用Mysql命令来创建一个数据库,并分配一个用户给这个数据库。
docker exec -it mariadb /bin/bash
进入容器后我们使用刚才在容器上指定的root密码来登录MariaDB
mysql -u root -p 输入数据库root用户的密码
之后会进入到这样的交互界面:
root@b45ff49a112a:/# mysql -u root -p 输入数据库root用户的密码 (回车)
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 8
Server version: 5.5.64-MariaDB-1~trusty mariadb.org binary distribution
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
创建WordPress数据库,数据库名为 wordpress
MariaDB [(none)]> create database wordpress;
Query OK, 1 row affected (0.00 sec)
创建WordPress用户,用户名为 wordpress,密码为 password
MariaDB [(none)]> create user 'wordpress'@'%' identified by 'password';
Query OK, 0 rows affected (0.00 sec)
为wordpress用户添加对数据库wordpress的所有的权限,并设置访问密码为password
MariaDB [(none)]> grant all privileges on wordpress.* to 'wordpress'@'%' identified by 'password';
Query OK, 0 rows affected (0.00 sec)
最后我们刷新数据库用户权限,立即生效
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.01 sec)
到这里准备工作已经做好了,请记录好刚才为WordPress数据库设置的用户名和密码,稍后将会使用。
-p 80:80 将容器的80端口映射到本机的80端口并开放,使之可以通过http://本机ip访问搭建的WordPress博客平台。
docker run --name=wordpress -p 80:80 -v /home/wordpress:/var/www/html -d --restart=always wordpress:latest
马上就好……现在你可以访问一下你的http://ip或者http://域名
我们到了这最后一步:

如果你刚才没有按照本教程配置数据库,你这里自己填写就好。如果你是按照本教程搭建到这里,那么在此处请填写你服务器本机的IP地址或域名!(当然数据库主机这里你也可以填写MariaDB容器的IP地址)
之后数据库名和用户名都为我们刚才设置好的wordpress,密码也填写好。点提交就好咯~
有机会的话我们弄个SSL证书给它挂上,然后用Nginx反向代理来访问我们的WordPress容器,不一定哪天写一份教程出来。
参考:
Docker Hub WordPress
Docker Doc
我是一名Linux初学者,如果你与我一样喜欢折腾,喜欢Linux,那么请加入我的电报群:
https://t.me/yeefire_blog(Telegram),在这里畅所欲言,共同学习进步。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。