针对基于docker搭建wordpress博客网站平台和docker部署wordpress这两个问题,本篇文章进行了详细的解答,同时本文还将给你拓展12、利用docker快速搭建Wordpress网站
针对基于 docker 搭建 wordpress 博客网站平台和docker部署wordpress这两个问题,本篇文章进行了详细的解答,同时本文还将给你拓展12、利用docker快速搭建Wordpress网站、6.1 基于docker搭建wordpress、Centos 7 使用 docker 部署 LAMP 搭建 wordpress 博客系统、docker compose搭建wordpress等相关知识,希望可以帮助到你。
本文目录一览:- 基于 docker 搭建 wordpress 博客网站平台(docker部署wordpress)
- 12、利用docker快速搭建Wordpress网站
- 6.1 基于docker搭建wordpress
- Centos 7 使用 docker 部署 LAMP 搭建 wordpress 博客系统
- docker compose搭建wordpress
基于 docker 搭建 wordpress 博客网站平台(docker部署wordpress)
WordPress 是使用 PHP 语言开发的博客平台,用户可以在支持 PHP 和 MySQL 数据库的服务器上架设属于自己的网站。也可以把 WordPress 当作一个内容管理系统 (CMS) 来使用。
WordPress 是一款个人博客系统,并逐步演化成一款内容管理系统软件,它是使用 PHP 语言和 MySQL 数据库开发的。用户可以在支持 PHP 和 MySQL 数据库的服务器上使用自己的博客。
WordPress 有许多第三方开发的免费模板,安装方式简单易用。不过要做一个自己的模板,则需要你有一定的专业知识。比如你至少要懂的标准通用标记语言下的一个应用 HTML
WordPress 官方支持中文版,同时有爱好者开发的第三方中文语言包,如 wopus 中文语言包。WordPress 拥有成千上万个各式插件和不计其数的主题模板样式。
基于 docker 构建 wordpress 博客网站平台
- 自定义网络
[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/
- 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/
- 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
输入 wp\admin 进入后台
12、利用docker快速搭建Wordpress网站
一、准备工作
结构图:
用户访问页面,Nginx将请求进行转发,如果请求的是php页面,则通过FastCGI转发给后端php进行处理;如果非php页面,则直接返回静态页面。
关键点:
- mysql、php-fpm、nginx处于一个网络中
- mysql、php-fpm端口不需要暴露
- nginx对php请求转发给FastCGI
1、自定义网络
docker network create lnmp
二、创建容器
1、创建Mysql容器
docker run -d --name lnmp_mysql --net lnmp --mount src=mysql-vol,dst=/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=wordpress mysql:5.7 --character-set-server=utf8
- 容器名称:lnmp_mysql
- 容器网络:lnmp
- 数据卷:mysql-vol
- 设置数据库密码和创建数据
2、创建php容器
docker run -d --name lnmp_php --net lnmp --mount src=wwwroot,dst=/wwwroot custom_php:v1
- 容器名称:lnmp_php
- 容器网络:lnmp
- 数据卷:wwwroot
3、创建nginx容器
docker run -d --name lnmp_nginx --net lnmp -p 88:80 --mount type=bind,src=$(pwd)/nginx.conf,dst=/usr/local/nginx/conf/nginx.conf --mount src=wwwroot,dst=/wwwroot custom_nginx:v1
- 容器名称:lnmp_nginx
- 容器网络:lnmp
- 容器端口:80
- 数据卷:wwwroot
- 配置文件:bind方式,因为配置文件可能会有变更,保证每次容器可以获取最新的配置文件。
4、下载应用
wget https://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz
下载应用放到/var/lib/docker/volumes/wwwroot/_data
三、访问测试
1、访问wordpress
2、设置数据库连接
3、完成数据设置
4、填写网站信息
5、访问应用
一切都是预期的结果!
6.1 基于docker搭建wordpress
创建一个mysql容器
docker run -d --name mysql -v mysqldata:/var/lib/mysql -e MYSQL_DATABASE=wp -e MYSQL_ROOT_PASSWORD=root mysql:5.7.22
创建一个wordpress容器
docker run --name wordpress --link mysql -d -p 8080:80 wordpress
然后即可通过访问 http://192.168.205.10:8080/ 来进行安装了
Centos 7 使用 docker 部署 LAMP 搭建 wordpress 博客系统
0、简要概述
LAMP 是目前比较流行的 web 框架,即 Linux+Apache+Mysql+PHP 的网站架构方案。docker 是目前非常流行的虚拟化应用容器,可以为任何应用创建一个轻量级、可移植的容器。现在我们就来通过 docker 来部署 LAMP 环境,并且搭建 wordpress 博客系统来测试。
系统环境 操作系统版本:Centos 7.5 64 位 Docker 版本:18.06.1-ce(社区版) ip 地址:192.168.2.226 lamp 网络 ip 地址:172.18.0.1
前提条件:
- 关闭 selinux
- 已经安装好 docker
1、下载 mysql、php-apache 镜像
docker pull mysql
docker pull php:7.2-apache
创建自定义网络 lamp
docker network create lamp
docker network ls

2、创建生成 mysql、httpd-php 容器的脚本 vim docker_lamp.sh
#!/bin/bash
function mysql() {
docker run --name mysql --net lamp -p 3306:3306 \
-v /data/docker/mysql/data:/var/lib/mysql \
-v /data/docker/mysql/conf:/etc/mysql/conf.d \
-v /data/docker/mysql/logs:/logs \
-e MYSQL_ROOT_PASSWORD=test123456 \
-d mysql:latest --character-set-server=utf8
}
function httpd_php() {
docker run --name httpd-php --net lamp -p 80:80 \
-v /data/docker/httpd/conf:/etc/apache2/sites-enabled \
-v /data/docker/www:/var/www/html \
-v /data/docker/httpd/logs:/var/log/apache2 \
-d php:7.2-apache
}
$1
3、启动 mysql、httpd-php 容器
bash docker_lamp.sh mysql
bash docker_lamp.sh httpd_php
4、写一个 php 的首页文件来进行测试
echo "<?php phpinfo(); ?>" > /data/docker/www/index.php
通过浏览器访问 http://192.168.2.226
5、修改 mysql 的密码加密方式为 mysql_native_password
vim /data/docker/mysql/conf/docker_mysql.cnf
[mysqld]
default-authentication-plugin=mysql_native_password
6、数据库操作 登陆 mysql 容器,创建、配置 wordpress 数据库
docker exec -it mysql /bin/bash
mysql -uroot -ptest123456
mysql> create database wordpress;
mysql> create user wps@localhost identified by ''123456'';
mysql> grant all privileges on wordpress.* to wps@localhost;
mysql> create user wps@172.18.0.1 identified by ''123456'';
mysql> grant all privileges on wordpress.* to wps@172.18.0.1;
mysql> alter user wps@172.18.0.1 identified with mysql_native_password by ''123456'';
mysql> flush privileges;
mysql> exit
exit
7、下载 wordpress 博客系统
wget https://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz
tar -zxvf wordpress-4.9.4-zh_CN.tar.gz -C /data/docker/www/
8、配置 wordpress 博客
- 修改 wp-config-sample.php 配置
cd /data/docker/www/wordpress/
mv wp-config-sample.php wp-config.php
vim wp-config.php #修改以下内容
/ WordPress数据库的名称 */
define(''DB_NAME'', ''wordpress'');
/ MySQL数据库用户名 */
define(''DB_USER'', ''wps'');
/ MySQL数据库密码 */
define(''DB_PASSWORD'', ''123456'');
/ MySQL主机 */
define(''DB_HOST'', ''172.18.0.1'');
/ 创建数据表时默认的文字编码 */
define(''DB_CHARSET'', ''utf8'');
/ 数据库整理类型。如不确定请勿更改 */
define(''DB_COLLATE'', '''');
- mysql 容器里安装 mysqli 扩展
docker exec -it httpd-php /bin/bash
apt-get update
apt-get install libpng-dev
cd /usr/local/bin/
./docker-php-ext-install gd mysqli
./docker-php-ext-enable gd mysqli
exit
docker restart httpd-php
- 修改 wp-db.php 文件,将 mysql_connect 替换为 mysqli_connect
cd /data/docker/www/wordpress/
sed -i "s/mysql_connect/mysqli_connect/g" wp-includes/wp-db.php
11、重新配置 wordpress 博客 浏览器访问 http://192.168.2.226/wordpress 按前面的步骤填写完连接 mysql 的配置信息后,看到如下页面,表示 mysql 连接成功。
需要手工创建 wp-config.php 文件,将以上信息贴入 wp-config.php 文件中 vim /data/docker/www/wordpress/wp-config.php
然后点击 “现在安装”,出现以下页面
输入完以上信息后,点击 “安装 WordPress”
至此,wordpress 博客系统就搭建完成了。
docker compose搭建wordpress
version: '3.1'
services:
db:
image: MysqL:5.7
restart: always
environment:
MysqL_DATABASE: blog
MysqL_USER: stivenyang
MysqL_PASSWORD: *******
MysqL_RANDOM_ROOT_PASSWORD: '*******'
volumes:
- ../MysqL/blog/conf/my.cnf:/etc/MysqL/my.cnf
- ../MysqL/blog/data:/var/lib/MysqL
ports:
- 3306:3306
wordpress:
image: wordpress
restart: always
environment:
wordpress_DB_HOST: db
wordpress_DB_USER: stivenyang
wordpress_DB_PASSWORD: ********
wordpress_DB_NAME: blog
volumes:
- ../wordpress:/var/www/html
web:
image: Nginx
restart: always
ports:
- 80:80
volumes:
- ../Nginx/Nginx.conf:/etc/Nginx/Nginx.conf
- ../Nginx/conf.d:/etc/Nginx/conf.d
关于基于 docker 搭建 wordpress 博客网站平台和docker部署wordpress的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于12、利用docker快速搭建Wordpress网站、6.1 基于docker搭建wordpress、Centos 7 使用 docker 部署 LAMP 搭建 wordpress 博客系统、docker compose搭建wordpress等相关内容,可以在本站寻找。
本文标签: