0、簡要概述php
LAMP是目前比較流行的web框架,即Linux+Apache+Mysql+PHP的網站架構方案。docker是目前很是流行的虛擬化應用容器,能夠爲任何應用建立一個輕量級、可移植的容器。如今咱們就來經過docker來部署LAMP環境,而且搭建wordpress博客系統來測試。html
系統環境
操做系統版本:Centos 7.5 64位
Docker版本:18.06.1-ce(社區版)
ip地址:192.168.2.226
lamp網絡ip地址:172.18.0.1mysql
前提條件:linux
一、下載mysql、php-apache鏡像web
docker pull mysql docker pull php:7.2-apache
建立自定義網絡lampsql
docker network create lamp docker network ls
二、建立生成mysql、httpd-php容器的腳本
vim docker_lamp.shdocker
#!/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
三、啓動mysql、httpd-php容器數據庫
bash docker_lamp.sh mysql bash docker_lamp.sh httpd_php
四、寫一個php的首頁文件來進行測試apache
echo "<?php phpinfo(); ?>" > /data/docker/www/index.php
經過瀏覽器訪問http://192.168.2.226vim
五、修改mysql的密碼加密方式爲mysql_native_password
vim /data/docker/mysql/conf/docker_mysql.cnf [mysqld] default-authentication-plugin=mysql_native_password
六、數據庫操做
登錄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
七、下載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/
八、配置wordpress博客
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', '');
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
cd /data/docker/www/wordpress/ sed -i "s/mysql_connect/mysqli_connect/g" wp-includes/wp-db.php
十一、從新配置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博客系統就搭建完成了。