一鸽扁、環(huán)境準(zhǔn)備
- 1.一臺安裝好docker的宿主機(jī)以政,安裝參考上一篇
- 2.準(zhǔn)備wordpress代碼包囱桨,并規(guī)劃好目錄再解壓
下載地址:
鏈接:https://pan.baidu.com/s/1kZFhC_h2mTDQ5K37z2jzRQ
提取碼:8puw
二万哪、部署docker內(nèi)環(huán)境
- 1.先pull一個centos:6.9的鏡像并運行
[root@docker01 ~]#docker pull centos:6.9
[root@docker01 ~]# docker run -it -p 80:80 -p 3306:3306 centos:6.9 /bin/bash
搭建wordpress需要的服務(wù),nginx, mysql, php-fpm,因為要使用nginx與mysql所以做好端口映射80脐恩,3306
- 2.先配置yum源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo #容器為centos6.9,所以使用6的源
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
- 3.安裝需要使用的服務(wù)
yum install -y nginx mysql-server php-fpm - 4.創(chuàng)建代碼存放目錄
在容器內(nèi)創(chuàng)建存放代碼的目錄
mkdir /data
上傳代碼并解壓到指定位置
unzip -d /data/ wordpress-5.0.3-zh_CN.zip
- 5.修改nginx主配置文件vim /etc/nginx/nginx.conf
[root@fbd124eb2143 nginx]# cat nginx.conf
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
root /data; #站點目錄
index index.php index.html index.htm;
}
location ~ \.php$ {
root /data;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /data$fastcgi_script_name;
include fastcgi_params;
}
}
}
檢查語法
[root@fbd124eb2143 nginx]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
啟動服務(wù)
service nginx start
[root@fbd124eb2143 nginx]# service nginx start
Starting nginx: [ OK ]
- 5.啟動mysql
service mysqld start - 6.創(chuàng)建wordpress數(shù)據(jù)庫
[root@fbd124eb2143 ~]# mysql -uroot
mysql> create database wordpress;
Query OK, 1 row affected (0.00 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| test |
| wordpress |
+--------------------+
4 rows in set (0.00 sec)
創(chuàng)建并授權(quán)用戶
mysql> grant all on wordpress.* to wordpress@'10.0.0.%' identified by '123456';
Query OK, 0 rows affected (0.00 sec)
mysql> grant all on wordpress.* to wordpress@'localhost' identified by '123456';
Query OK, 0 rows affected (0.00 sec)
刪除無用用戶
mysql> select user,host from mysql.user;
+-----------+--------------+
| user | host |
+-----------+--------------+
| wordpress | 10.0.0.% |
| root | 127.0.0.1 |
| | fbd124eb2143 |
| root | fbd124eb2143 |
| | localhost |
| root | localhost |
| wordpress | localhost |
+-----------+--------------+
7 rows in set (0.00 sec)
mysql> drop user ''@'localhost' ;
Query OK, 0 rows affected (0.01 sec)
mysql> drop user ''@'fbd124eb2143' ;
Query OK, 0 rows affected (0.01 sec)
mysql> select user,host from mysql.user;
+-----------+--------------+
| user | host |
+-----------+--------------+
| wordpress | 10.0.0.% |
| root | 127.0.0.1 |
| root | fbd124eb2143 |
| root | localhost |
| wordpress | localhost |
+-----------+--------------+
5 rows in set (0.00 sec)
更新一下權(quán)限信息
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> Bye
- 7.啟動php-fpm
service php-fpm start - 8.訪問本機(jī)ip及wordpress目錄,發(fā)現(xiàn)提示缺少擴(kuò)展包
image.png
- 9.按提示安裝php-mysql擴(kuò)展包并重啟
yum install php-mysql -y
rpm -qa|grep -i php
[root@1c52188827fe wordpress]# rpm -qa|grep -i php
php-fpm-5.3.3-49.el6.x86_64
php-pdo-5.3.3-49.el6.x86_64
php-common-5.3.3-49.el6.x86_64
php-mysql-5.3.3-49.el6.x86_64
service php-fpm restart
- 10.重新訪問本機(jī)ip及wordpress目錄并按要求配置操作镐侯,最終顯示頁面
image.png
- 11.在容器內(nèi)寫入啟動腳本
cat /init.sh
#!/bin/bash
service mysqld start
service php-fpm start
nginx -g 'daemon off;'
- 12.把容器提交為鏡像
[root@docker ~]# docker commit 1c52188827fe centos:6.9_wordpress
sha256:76e675b795f0c3a105fc20aba0c1e04749b678cbfae483fbc55df17c43e54f38
[root@docker ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos 6.9_wordpress 76e675b795f0 13 seconds ago 559MB
centos6.9_ssh v1 3b3df71e3b73 5 days ago 195MB
nginx latest f68d6e55e065 10 days ago 109MB
centos 6.8 82f3b5f3c58f 3 months ago 195MB
centos 6.9 2199b8eb8390 3 months ago 195MB
- 12.對剛提交的鏡像進(jìn)行測試
先停掉容器
運行剛剛提交的鏡像并配合腳本開啟