基于docker搭建wordpress博客网站平台

WordPress是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。也可以把 WordPress当作一个内容管理系统(CMS)来使用。

WordPress是一款个人博客系统,并逐步演化成一款内容管理系统软件,它是使用PHP语言和MySQL数据库开发的。用户可以在支持 PHP 和 MySQL数据库的服务器上使用自己的博客。

WordPress有许多第三方开发的免费模板,安装方式简单易用。不过要做一个自己的模板,则需要你有一定的专业知识。比如你至少要懂的标准通用标记语言下的一个应用HTML代码CSSPHP等相关知识。

WordPress官方支持中文版,同时有爱好者开发的第三方中文语言包,如wopus中文语言包。WordPress拥有成千上万个各式插件和不计其数的主题模板样式。

            基于docker构建wordpress博客网站平台

  1. 自定义网络

[root@docker ~]# docker network create lnmp

2b4217d39d5e438f1012c39a892053460c8cddf4d2f59e8e24161617fd3834b1

[root@docker ~]# docker network ls

NETWORK ID          NAME                DRIVER              SCOPE

e954af0a31d1        bridge              bridge              local

8ec99c72fcb1        host                host                local

2b4217d39d5e        lnmp                bridge              local

a35525e0158b        none                null                local

2.创建mysql数据库容器

[root@docker ~]# docker run -itd --name lnmp_mysql --net lnmp -p 3306:3306 --mount src=mysql-vol,dst=/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql --character-set-server=utf8

62a0bccd72a303f4c375a36f5523b6383aeb0c6a76c358c59410bf022622c5f5

刚才由于设置指定了数据卷,可以查看到MySQL的数据卷

[root@docker ~]# docker volume ls

DRIVER              VOLUME NAME

local               mysql-vol

mysql的数据都放在这个数据卷目录下

[root@docker ~]# ls /var/lib/docker/volumes/mysql-vol /_data/

查看mysql的日志

[root@docker _data]# docker logs lnmp_mysql

查看mysql的进程

[root@docker _data]# docker top lnmp_mysql

3.创建所需的数据库

[root@docker mysql]# docker exec lnmp_mysql sh -c 'exec mysql -uroot -p"$MYSQL_ROOT_PASSWORD" -e"create database wp"'

[root@docker mysql]# yum install mysql

[root@docker ~]# mysql -h192.168.30.22 -uroot -p

Enter password:

出现报错:

ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loaded: /usr/lib64/mysql/plugin/caching_sha2_password.so: cannot open shared object file: No such file or directory

原因应该是mysql版本问题

解决方案

[root@docker ~]# docker exec -it lnmp_mysql bash

root@63259bee4195:/#  mysql -uroot -p123456

mysql> alter user 'root'@'%' identified with mysql_native_password by 'root';

Query OK, 0 rows affected (0.04 sec)

[root@docker ~]# mysql -h192.168.30.22 -uroot -p

Enter password:

Welcome to the MariaDB monitor.  Commands end with ; or g.

Your MySQL connection id is 22

Server version: 8.0.16 MySQL Community Server - GPL

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

MySQL [(none)]> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

| performance_schema |

| sys                |

| wp                 |

+--------------------+

5 rows in set (0.02 sec)

4.创建PHP环境容器

[root@docker ~]# docker run -itd --name lnmp_web --net lnmp -p 88:80 --mount type=bind,src=/app/wwwroot,dst=/var/www/html richarvey/nginx-php-fpm

[root@docker ~]# ls /app/wwwroot/

  1. html  index.html

5.wordpress博客为例测试

[root@docker ~]# wget https://cn.wordpress.org/wordpress-4.7.4-zh_CN.tar.gz

[root@docker ~]# tar zxvf wordpress-4.7.4-zh_CN.tar.gz -C /app/wwwroot/

[root@docker ~]# ls /app/wwwroot/

  1. html  index.html  wordpress

[root@docker ~]# docker ps

CONTAINER ID        IMAGE                     COMMAND                  CREATED             STATUS              PORTS                                   NAMES

64639d9f9ec7        richarvey/nginx-php-fpm   "docker-php-entrypoi"   5 minutes ago       Up 5 minutes        443/tcp, 9000/tcp, 0.0.0.0:88->80/tcp   lnmp_web

http://IP:88/wordpress

php的页面修改数据库密码更改一下

[root@docker ~]# cp /app/wwwroot/wordpress/wp-config-sample.php /app/wwwroot/wordpress/wp-config.php

cp:是否覆盖"/app/wwwroot/wordpress/wp-config.php"y

[root@docker ~]# vim /app/wwwroot/wordpress/wp-config.php

 

输入wpadmin进入后台

原文地址:https://www.cnblogs.com/zc1741845455/p/11082079.html