一、用docker搭建一个lnmp 环境,安装wordpress
0.系统环境
[root@docker_test ~]# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) [root@docker_test ~]# uname -a Linux docker_test 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
1、安装mysql客户端
#mysql5.7源
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
#安装源
rpm -ivh mysql57-community-release-el7-10.noarch.rpm
#安装mysql客户端,用于连接docker里面的mysql。
yum install mysql -y
#登录用docker创建的mysql
[root@ansible-server ~]# mysql -h59.47.71.229 -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 8.0.16 MySQL Community Server - GPL
Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys | |
| wp |
+--------------------+
6 rows in set (0.01 sec)
mysql> exit
备注:在同一个网络中,他们可以通过容器名称进行通信
2 、自定义网络
docker network create lnmp
3 、创建 Mysql 数据库容器
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:5.6 --character-set-server=utf8
4、创建 所需 数据库
docker exec lnmp_mysql sh \
-c 'exec mysql -uroot -p"$MYSQL_ROOT_PASSWORD" -e"create database wp"'
#查看数据库
docker exec lnmp_mysql sh -c 'exec mysql -uroot -p"$MYSQL_ROOT_PASSWORD" -e"show databases"'
5、创建 PHP 环境容器
#创建目录
mkdir -p /app/wwwroot
#安装nginx+php-fpm
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
6 、 以 wordpress 博客为例测试
wget https://cn.wordpress.org/wordpress-4.7.4-zh_CN.tar.gz
tar zxf wordpress-4.7.4-zh_CN.tar.gz -C /app/wwwroot
容器的访问:
iptables -I INPUT -s 0.0.0.0 -j ACCEPT
iptables -I INPUT -s 0.0.0.0/0 -d 0.0.0.0/0 -j ACCEPT
# 浏览器测试访问
http://IP:88/wordpress/



把上面内容复制在vi /app/wwwroot/wordpress/wp-config.php
<?php
/**
* WordPress基础配置文件。
*
* 这个文件被安装程序用于自动生成wp-config.php配置文件,
* 您可以不使用网站,您需要手动复制这个文件,
* 并重命名为“wp-config.php”,然后填入相关信息。
*
* 本文件包含以下配置选项:
*
* * MySQL设置
* * 密钥
* * 数据库表名前缀
* * ABSPATH
*
* @link https://codex.wordpress.org/zh-cn:%E7%BC%96%E8%BE%91_wp-config.php
*
* @package WordPress
*/
// ** MySQL 设置 - 具体信息来自您正在使用的主机 ** //
/** WordPress数据库的名称 */
define('DB_NAME', 'wp');
/** MySQL数据库用户名 */
define('DB_USER', 'root');
/** MySQL数据库密码 */
define('DB_PASSWORD', '123456');
/** MySQL主机 */
define('DB_HOST', 'lnmp_mysql');
/** 创建数据表时默认的文字编码 */
define('DB_CHARSET', 'utf8mb4');
/** 数据库整理类型。如不确定请勿更改 */
define('DB_COLLATE', '');
/**#@+
* 身份认证密钥与盐。
*
* 修改为任意独一无二的字串!
* 或者直接访问{@link https://api.wordpress.org/secret-key/1.1/salt/
* WordPress.org密钥生成服务}
* 任何修改都会导致所有cookies失效,所有用户将必须重新登录。
*
* @since 2.6.0
*/
define('AUTH_KEY', '} }u^AgJu[jE]Iu)pr(4PzQ:+| ii{?Qv!x;ej_FxjG{sIRisLu&x<iF$71JM.r^');
define('SECURE_AUTH_KEY', 'U]Ro$V/S*q,Du9ViTQto TwM)x_1j,lL;-;Askr=EyzQ4Bus1h/fRsEe,kdtt5z4');
define('LOGGED_IN_KEY', 'u02wNJ$H]=fp=[H{{UN5ol%Jz-J+qncgBT!f8R0{v6.<_ n^XBdK;c#9Q=vY?/!!');
define('NONCE_KEY', 'Q>Qu%j|tq`_m>+obv&!h4P-%Q-;k~{F[^~%tJQx4(SNX.ct7o$AM6Vas&f:_sqOh');
define('AUTH_SALT', '4WB`5>#R#i&|1 NDMh/cE][LAqE.RU#A=+-h1ra};C:-*4&o^wmbA/[P&++rf]9N');
define('SECURE_AUTH_SALT', 'y`sZ!fR_J !<?R %K(t6!=3uu%@EvWqX5m{gp5O+NlBSd[gf%1nleLhyu&(edQnN');
define('LOGGED_IN_SALT', '#Mn/t,2Oa+ChH+(tuL*q~(KlU)bDV+jnoEa;_/-ER~O~D #,M0U/`jB@JxQu@SK0');
define('NONCE_SALT', '[q!HV?b84eB4:k.-W4Nu]EO)Nr)yMEyB_v]/>V~&{&JE%b9kcxKwWtG`09*cvc@]');
/**#@-*/
/**
* WordPress数据表前缀。
*
* 如果您有在同一数据库内安装多个WordPress的需求,请为每个WordPress设置
* 不同的数据表前缀。前缀名只能为数字、字母加下划线。
*/
$table_prefix = 'wp_';
/**
* 开发者专用:WordPress调试模式。
*
* 将这个值改为true,WordPress将显示所有用于开发的提示。
* 强烈建议插件开发者在开发环境中启用WP_DEBUG。
*
* 要获取其他能用于调试的信息,请访问Codex。
*
* @link https://codex.wordpress.org/Debugging_in_WordPress
*/
define('WP_DEBUG', false);
/**
* zh_CN本地化设置:启用ICP备案号显示
*
* 可在设置→常规中修改。
* 如需禁用,请移除或注释掉本行。
*/
define('WP_ZH_CN_ICP_NUM', true);
/* 好了!请不要再继续编辑。请保存本文件。使用愉快! */
/** WordPress目录的绝对路径。 */
if ( !defined('ABSPATH') )
define('ABSPATH', dirname(__FILE__) . '/');
/** 设置WordPress变量和包含文件。 */
require_once(ABSPATH . 'wp-settings.php');
#下一步
http://192.168.56.60:88/wordpress/wp-admin/install.php?language=zh_CN

进行登录界面

输入上面设置的用户名和密码,点登录。

