一、用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

進行登錄界面

輸入上面設置的用戶名和密碼,點登錄。

