【docker构建】基于docker构建wordpress博客网站平台
WordPress是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。也可以把 WordPress当作一个内容管理系统(CMS)来使用。
WordPress是一款个人博客系统,并逐步演化成一款内容管理系统软件,它是使用PHP语言和MySQL数据库开发的。用户可以在支持 PHP 和 MySQL数据库的服务器上使用自己的博客。
WordPress有许多第三方开发的免费模板,安装方式简单易用。不过要做一个自己的模板,则需要你有一定的专业知识。比如你至少要懂的标准通用标记语言下的一个应用HTML代码、CSS、PHP等相关知识。
基于docker构建wordpress博客网站平台
1.自定义网络
# 创建docker网络lnmp
[root@VM_0_10_centos bin]# docker network create lnmp
3f84590bd82650c47405da35dc0d41700c1b35215fd57d5d7097aeed0387cbbc # 查看docker网络信息(默认只显示前12位id)
[root@VM_0_10_centos bin]# docker network ls
NETWORK ID NAME DRIVER SCOPE
88010dbd06c0 bridge bridge local
221f15f2552e host host local
3f84590bd826 lnmp bridge local
ebe64efe6b83 none null local
2.创建mysql数据容器
# 先从仓库拉取mysql的镜像
[root@VM_0_10_centos ~]# docker pull mysql
Using default tag: latest
latest: Pulling from library/mysql
d599a449871e: Pull complete
f287049d3170: Pull complete
08947732a1b0: Pull complete
96f3056887f2: Pull complete
871f7f65f017: Pull complete
1dd50c4b99cb: Pull complete
5bcbdf508448: Pull complete
a59dcbc3daa2: Pull complete
13e6809ab808: Pull complete
2148d51b084d: Pull complete
93982f7293d7: Pull complete
e736330a6d9c: Pull complete
Digest: sha256:c93ba1bafd65888947f5cd8bd45deb7b996885ec2a16c574c530c389335e9169
Status: Downloaded newer image for mysql:latest
docker.io/library/mysql:latest # 查看镜像
[root@VM_0_10_centos ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql latest d435eee2caa5 10 days ago 456MB # 运行mysql容器 -itd以守护进程运行在后台 --network 指定mysql容器的网络 --mount指定了数据卷 -e设置mysql密码 -p 3307对外暴露的端口,3306为容器内部的端口
[root@VM_0_10_centos ~]# docker run -itd --name lnmp_mysql --network lnmp -p 3307:3306 --mount src=mysql-vol,dst=/var/lib/
mysql -e MYSQL_ROOT_PASSWORD=mysql密码 mysql --character-set-server=utf89b7666d5089713fc135c4a695be1725c17a22bf826e46eafe2c52151fdf20948 # 查看数据卷
[root@VM_0_10_centos ~]# docker volume ls
DRIVER VOLUME NAME
local 6d34aaf134e3298590eab44809adf751d0ca17856bafe57135cf3295230dab6d
local d18337c811e3cc0ec89552243255bea8b662e18a0b7ecb2a0f95073aceaac702
local mysql-vol # mysql数据均放在这个数据卷目录下
[root@VM_0_10_centos ~]# ls /var/lib/docker/volumes/mysql-vol/_data/ # 查看mysql日志
[root@VM_0_10_centos ~]# docker logs lnmp_mysql # 查看mysql容器的进程
[root@VM_0_10_centos ~]# docker top lnmp_mysql
3.创建需要的数据库
# 进入mysql容器创建数据库
[root@VM_0_10_centos ~]# docker exec -it lnmp_mysql bash
root@9b7666d50897:/# mysql -uroot -p # 回车,输入密码
# 创建wordpress数据库wp
mysql> create database wp;
或直接创建
# docker exec lnmp_mysql sh -c 'exec mysql -uroot -p"$MYSQL_ROOT_PASSWORD" -e"create database wp"'
退出容器,查看mysql容器的ip地址,通过本地登录mysql容器
# 查看容器ip
[root@VM_0_10_centos ~]# docker inspect -f '{{.NetworkSettings.Networks.lnmp.IPAddress}}' lnmp_mysql
lnmp_mysql
172.18.0.2
# 本地访问mysql容器
[root@VM_0_10_centos ~]# mysql -h172.18.0.2 -uroot -p
Enter password:
# 出现报错
ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loaded: /usr/lib64/mysql/plugin/caching_sha2_p
assword.so: cannot open shared object file: No such file or directory
可能是版本问题
[root@VM_0_10_centos ~]# docker exec -it lnmp_mysql bash
root@9b7666d50897:/# mysql -uroot -p
Enter password:
Server version: 8.0.18 MySQL Community Server - GPL Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> alter user 'root'@'%' identified with mysql_native_password by 'root';
Query OK, 0 rows affected (0.01 sec) mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec) # 退出容器,本地登录mysql容器
[root@VM_0_10_centos ~]# mysql -h172.18.0.2 -uroot -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MySQL connection id is 12
Server version: 8.0.18 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.00 sec)
4.创建PHP环境容器
# 先搜索是否有这个镜像
# docker search nginx-php-fpm # 拉取镜像
[root@VM_0_10_centos ~]# docker pull richarvey/nginx-php-fpm

# 运行镜像==》容器# 先创建/app/wwwroot目录,不然运行文件指定的目录不存在会报错
[root@VM_0_10_centos ~]# mkdir -p /app/wwwroot
# --network lnmp 需要和链接的mysql容器的网络是同一个,不然不能连接mysql哈
[root@VM_0_10_centos wordpress]# docker run -itd --name lnmp_nginxphpfpm -p 88:80 --network lnmp --link lnmp_mysql:mysql --mount type=bind,src=/app/wwwroot,dst=/var/www/html richarvey/nginx-php-fpm
# 创建index文件
[root@VM_0_10_centos ~]# vi /app/wwwroot/index.html
<h1>Hello World!!!</h1> # 这时通过浏览器http://ip:88会出现刚刚index.html文件中的内容
5.搭建wordpress博客系统
# 切换到源码安装的目录
[root@VM_0_10_centos ~]# cd /usr/local/src/ # 下载wordpress(好像浏览器请求报错429,后面我是通过朋友帮忙下载的,然后上传到服务器/usr/local/src目录下。也不知道原因为什么我这边下载不了)
https://cn.wordpress.org/wordpress-4.7.4-zh_CN.tar.gz # 将wordpress解压到/app/wwwroot/目录下
[root@VM_0_10_centos src]# pwd
/usr/local/src
[root@VM_0_10_centos src]# tar -zxvf wordpress-4.7.4-zh_CN.tar.gz -C /app/wwwroot/
[root@VM_0_10_centos src]# ls /app/wwwroot/
index.html wordpress
通过浏览器访问:http://ip:88/wprdpress即可

点击现在就开始,进行数据库配置

PS:在这里出现了数据库连接错误,经过排查是在润兴wordpress容器时没有与mysql数据库进行连接导致。上面润兴容器代码已更改。数据库配置完成后,会在/app/wwwroot/wordpress/目录生成一个wp-config.php配置文件

点击进行安装,填写wordpress信息

点击登录,使用刚刚创建的用户名和密码进行登录


登录之后进入主页

至此,部署完成。
【docker构建】基于docker构建wordpress博客网站平台的更多相关文章
- 基于docker搭建wordpress博客网站平台
WordPress是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站.也可以把 WordPress当作一个内容管理系统(CMS)来使用. WordPre ...
- Debian 上面五分钟搭建 WordPress - 博客/网站平台
没有废话,步骤如下: 下载安装软件,MySQL Apache PHP sudo aptitude install mysql-server mysql-client ##安装 MySQLsudo ap ...
- WordPress博客网站fonts.useso加载慢解决办法
WordPress博客网站fonts.useso加载慢解决办法 之前WordPress博客因为google字体库访问不了替换成360的useso,最近WordPress博客网站一直等待fonts.us ...
- LNMP架构之搭建wordpress博客网站
系统环境版本 [root@db02 ~]# cat /etc/redhat-release CentOS release 6.9 (Final) [root@db02 ~]# uname -a Lin ...
- 基于django的个人博客网站建立(三)
基于django的个人博客网站建立(三) 前言 网站效果可点击这里访问 今天主要完成的是文章在页面的显示以及评论,留言 具体内容 首先我希望主页面是显示我的所有文章,于是在主页面的视图函数中返回了所有 ...
- 基于django的个人博客网站建立(二)
基于django的个人博客网站建立(二) 前言 网站效果可点击这里访问 今天主要完成后台管理员登录的状态以及关于文章在后台的处理 具体内容 首先接上一次内容,昨天只是完成了一个登录的跳转,其他信息并没 ...
- 基于django的个人博客网站建立(一)
基于django的个人博客网站建立(一) 前言 网站效果可点击这里访问 之前基于hexo和github page搭建过一个博客网页,后来由于换了个系统,感觉弄的有点麻烦也就没有再去管它了,最近偶然从网 ...
- 基于django的个人博客网站建立(七)
基于django的个人博客网站建立(七) 前言 网站效果可点击这里访问 这次在原来的基础上添加或修改一些小功能 具体内容 1.代码高亮 在原来的blog-details.html页面添加下面的代码: ...
- 基于django的个人博客网站建立(六)
基于django的个人博客网站建立(六) 前言 今天主要完成的是项目在腾讯云服务器上ubuntu16.04+django+mysql+uwsig+nginx的部署过程网站效果可点击这里访问 主要内容 ...
随机推荐
- java虚拟机栈 相关操作
针对JVM虚拟栈 和栈帧的操作 虚拟机栈: 栈元素是栈帧.方法调用,栈帧入栈,反之出栈. 栈帧:一个方法的运行空间. 1.局部变量表:方法定义的局部变量.方法的参数存在该表. 实例方法中有个隐含参数“ ...
- 1篇文章搞清楚8种JVM内存溢出(OOM)的原因和解决方法
前言 撸Java的同学,多多少少会碰到内存溢出(OOM)的场景,但造成OOM的原因却是多种多样. 堆溢出 这种场景最为常见,报错信息: java.lang.OutOfMemoryError: Java ...
- Ubuntu 18.04 根目录只有 4G 大小
其实准确点儿的描述应该是:Ubuntu Server 18.04 ,设置 LVM,安装完成后根目录的容量为什么只有 4G?只有 Server 版有问题,Desktop 版没有问题,Ubuntu 16. ...
- hdu 1054 Strategic Game (简单树形DP)
Strategic Game Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- 《Java基础知识》Java集合(Map)
Java集合主要由2大体系构成,分别是Collection体系和Map体系,其中Collection和Map分别是2大体系中的顶层接口. 今天主要讲:Map主要有二个子接口,分别为HashMap.Tr ...
- Linux服务器部署.Net Core笔记:三、CentOS 7上安装.NetCore运行环境
1.要开始安装 .NET,您需要注册 Microsoft 签名密钥并添加 Microsoft 产品提要.每台机器只需要做一次. 打开命令提示符并运行以下命令:sudo rpm -Uvh https:/ ...
- hadoop伪分布模式的配置和一些常用命令
大数据的发展历史 3V:volume.velocity.variety(结构化和非结构化数据).value(价值密度低) 大数据带来的技术挑战 存储容量不断增加 获取有价值的信息的难度:搜索.广告.推 ...
- iOS Privacy Policy
This application respects and protects the privacy of all users who use the service. In order to pro ...
- windows + flutter +android+ vscode 安装配置运行流程(详细版本)
flutter 是由谷歌发布的一个全新的响应式.跨平台.高性能的移动开发框架,可以快速在iOS和Android上构建高质量的原生用户界面. 框架特点 快速开发:Flutter的热重载可以快速地进行测试 ...
- Gradle Java 插件
Java 插件是构建 JVM 项目的基础,它为项目增加了很多能力,例如编译,测试,打包,发布等等. 很多插件都是基于 Java 插件实现的,例如 Android 插件. 用法 使用 id 应用插件 p ...