使用docker搭建wordpress博客

1,918 阅读3分钟

9ep8Z1

搭建centos

  • 首先你需要有自己的服务器,这个你可以申请腾讯的和阿里的1g1核就可以了。
    TaRtJd
    RGLiF6
  • 使用虚拟机安装centos7最新的centos就好,这样排坑比较方便。
  • 登陆centos建议使用xshell或者iterm,修改国内163的yum源,aliyun的源有坑别去,按顺序执行一下子命令

wget -O /etc/yum.repos.d/CentOS-Base.repo mirrors.163.com/.help/CentO… yum clean all yum makecache yum -y update

搭建docker

设置 Docker CE 资源库

yum install -y yum-utils yum-config-manager --add-repo download.docker.com/linux/cento… sudo yum makecache fast

安装docker

sudo yum -y install docker-ce

启动docker

sudo systemctl start docker

搭建wordpress

*下载最新的wordpress的tar包为例测试 网站为:cn.wordpress.org/

aevKZc

  • 登陆服务器解压安装包到对应data下目录

[root@docker ~]# tar zxvf wordpress-5.4.1-zh_CN.tar.gz -C data/app/www/ [root@docker ~]# ls data/app/www/ html index.html wordpress

  • 登陆服务器创建docker网络模式

[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 [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

  • 创建PHP环境容器

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

[root@docker ~]# ls /www/ html index.html

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

[root@docker ~]# cp /app/www/wordpress/wp-config-sample.php /app/www/wordpress/wp-config.php cp:是否覆盖"/app/wwwroot/wordpress/wp-config.php"? y

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

搭建mysql

  • 创建mysql数据库容器

[root@docker ~]# docker run -itd --name lnmp_mysql --net lnmp -p 9527:3306 --mount src=mysql-vol,dst=/var/lib/mysql -e MYSQL_ROOT_PASSWORD=matrix@123 mysql 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

  • 创建所需的数据库

[root@docker mysql]# docker exec lnmp_mysql sh -c 'exec mysql -uroot -pmatrix@123 -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)

cR12lh
fkJYYo
1Vpx3Z