NAS使用docker+wordpress快速搭建個人博客

1. nas上的docker安裝就不多說了,直接點開【套件中心】->【Docker】中下載並安裝

2. 打開界面或命令行先拉取一個mysql5.7的鏡像:  

sudo docker pull mysql:5.7

3. 再從wordpress的dockerhub上拉取博客源碼鏡像:

sudo docker pull workpress:latest 

wordpress數據存儲依賴mysql數據庫,以docker容器方式部署完整的wordpress博客服務,則需要從鏡像倉庫拉取mysql、wordpress鏡像,這裏選擇從開源的docker hub 獲取mysql 5.7版本,wordpress latest版本,同時需要準備一臺具備外網環境的機器,硬件配置最好1C2G以上,當然1C1G也是沒有問題的。

4. 啓動數據庫服務:

sudo docker run -dit --name mysql-db -p 3306:3306 -v /var/services/homes/yine/data/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root mysql:5.7 /bin/bash

mysql容器的名字爲mysql-db,數據庫文件則保存在當前機器的xxx/data/mysql目錄下,-e MYSQL_ROOT_PASSWORD以環境變量的方式設置mysql的數據庫密碼爲root,用戶名默認root,可以通過注入環境變量修改,更多參數設置請參考docker hub。命令執行成功之後,利用docker ps查詢容器是否成功啓動, 如果未啓動成功,注意要修改/root/yine/data/mysql 目錄的執行權限。

5. 可以定期對數據進行備份,當然除了以數據庫文件作爲備份之外,還可以通過執行msyql命令備份sql腳本數據。

sudo docker exec mysql-db sh -c 'exec mysqldump --databases wordpress -uroot -proot' > wordpress.sql

6. 數據庫成功啓動之後,再啓動wordpress容器服務:

sudo docker run -v /var/services/homes/yine/data/wordpress/wp-content:/var/www/html/wp-content --name my-wordpress --link mysql-db:db -p 9090:80 -d wordpress

在XXX/data/wordpress/wp-content目錄下修改文件內容,可以馬上在服務中體現,非常方便,–link 表示關聯了mysql-db容器,那麼在my-wordpress容器中可以通過db直接訪問mysql-db,可以進入my-wordpress容器查看–link增加了hosts記錄。-p指定了容器的端口映射,當前wordpress的服務通過當前機器的9090端口即可訪問。

yine@zerostudio:~$ sudo docker exec -it my-wordpress sh
# cat /etc/hosts
127.0.0.1	localhost
::1	localhost ip6-localhost ip6-loopback
fe00::0	ip6-localnet
ff00::0	ip6-mcastprefix
ff02::1	ip6-allnodes
ff02::2	ip6-allrouters
172.17.0.2	db ed46aac6d374 mysql-db
172.17.0.3	8b56cbaa5298

7. 配置wordpress
現在通過瀏覽器直接訪問 http://ip:9090/ ,比如當前服務器的ip爲192.168.2.100,那麼直接訪問 http://192.168.2.100:9090/ 即可訪問wordpress,然後跳轉到管理員配置頁面。

注意 databaseName需手動創建, 因爲啓動wordpress容器時做了和mysql的--link容器關聯操作,所以Database Host可以填寫關聯別名db.

root@f2708102507e:/# mysql -h db -u root -proot
ERROR 1130 (HY000): Host '172.17.0.4' is not allowed to connect to this MySQL server
root@f2708102507e:/# 
root@f2708102507e:/# 
root@f2708102507e:/# cat /etc/hosts 
127.0.0.1	localhost
::1	localhost ip6-localhost ip6-loopback
fe00::0	ip6-localnet
ff00::0	ip6-mcastprefix
ff02::1	ip6-allnodes
ff02::2	ip6-allrouters
172.17.0.2	db ed46aac6d374 mysql-db
172.17.0.4	f2708102507e

當出現不允許連接時,需要做如下操作,先從mysql-server容器登錄進去, 做如下操作:

root@ed46aac6d374:/var/lib/mysql# mysql -u root -proot
mysql> use mysql;
Database changed
mysql> update user set host = '%' where user = 'root';
Query OK, 1 row affected (0.02 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> select host, user from user;
+-----------+---------------+
| host      | user          |
+-----------+---------------+
| %         | root          |
| localhost | mysql.session |
| localhost | mysql.sys     |
+-----------+---------------+
3 rows in set (0.00 sec)

然後後邊的操作就不用多說了, 到此結束!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章