Docker实战:部署WordPress

WordPress是一款开源软件,属于Automattic的非盈利基金会,因此可以免费下载和使用。WordPress可以用于创建多种类型的网站,如个人博客或网站、摄影博客、商业网站、专业作品集、政府网站、杂志或新闻网站、在线社区,甚至是多站点网络。

前言

前面我们说过使用Docker部署MySQL,用虚拟化技术来搭建网站,可以使其占用更小,这期教程就来教大家使用Docker不是WordPress。

拉取镜像

WordPress是有镜像的,不需要自己建,指令:

docker pull wordpress:latest

然后,您应该知道,WordPress 需要 MySQL。
这里我们有两种选择,一是使用宿主机或是其他任何服务器上的 MySQL 数据库;二是用一个 MySQL Docker 镜像。为了方便,同时也多练习 Docker 的使用,我们干脆再拉一个 mysql 镜像,让整套服务完全在 docker 里运行

docker pull mysql:latest

启动服务

镜像拉取好之后,就可以启动服务了:

docker run -d --privileged=true --name Mysql_Test -v /data/mysql:/var/lib/mysql -e MYSQL_DATABASE=wordpress -e MYSQL_ROOT_PASSWORD=233333 mysql docker run -d --name WordPress_Test -e WORDPRESS_DB_HOST=mysql -e WORDPRESS_DB_PASSWORD=233333 -p 2020:80 --link Mysql_Test:mysql wordpress

OK,这就是 Docker 的魔力,不用装 PHP,不用为了安全悉心考虑、大肆设置,前前后后就 4 个命令搞的!(当然,我只是开一个简单的小服务,基本没人用,所以也就几乎没有安全风险,但您在部署的时候还是要花点时间认真考虑安全问题的)

接下来就是在您的浏览器访问 http://服务器IP:2020/wp-admin/index.php,完成 “著名的” wordpress 5分钟安装了!

连接MySQL

这里不多bb了
先把认证方式改成WordPress认识的:

docker exec -it Mysql_Test mysql -p

执行MySQL命令:

mysql> use mysql; mysql> select host, user, plugin from user; mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '233333'; mysql> select host, user, plugin from user;

root 的 plugin 从 caching_sha2_password 改成了 mysql_native_password,这样就没问题了。

再次访问就行了

THE END