首語
? 最近由于疫情原因,阿里云出了在家實踐活動免費送主機,早起兩天就搶到啦。有了服務(wù)器當(dāng)然第一件事就是建站!
為什么使用docker
-
資源隔離,環(huán)境破環(huán)重新運行一個容器即可
服務(wù)運行在容器中, 減少一般黑客的攻擊
-
考慮到一年免費時間過后博客網(wǎng)站必定遷移,使用docker只需將容器復(fù)制即可輕松遷移。
由此利用docker搭建wordpress。
安裝docker
? 系統(tǒng)安裝的方式不一樣,以下環(huán)境均在Ubuntu16.04上運行。下面上代碼
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
? 很簡單,一行命令搞定,這是官方的腳本,后面跟的是阿里云鏡像。等待安裝完成之后將用戶添加至docker組,否則可能沒有權(quán)限執(zhí)行某些操作,當(dāng)然如果你是root用戶就當(dāng)我沒說吧。
sudo usermod -aG docker your-user
配置鏡像docker鏡像源
? 如果不配置docker的鏡像源,從官方下載可能速度會太慢,因為dockerhub站點在國外。
vim /etc/docker/daemon.json
#添加如下內(nèi)容,如果沒有此文件新建一個即可
{
"registry-mirrors": [
"https://dockerhub.azk8s.cn",
"https://reg-mirror.qiniu.com",
"https://registry.docker-cn.com"
]
}
拉取鏡像
docker pull wordpress
docker pull mysql:5.7
創(chuàng)建容器之間的小型局域網(wǎng)
docker network create wpmysql
## 運行MySQL數(shù)據(jù)庫容器
docker run -d -i -t --name mysql --network wpmysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD='root' mysql:5.7
? 參數(shù)解釋:- -d 使容器后臺運行 -i -t 起到能與容器經(jīng)行交互式的作用 --name 給你的容器起個名字 --network 將此容器添加至哪個網(wǎng)絡(luò) -p 容器與宿主機之間的端口映射(宿主機端口 :容器端口) -e 此容器自定義參數(shù) MSQL_ROOT_PASSWORD設(shè)置此容器MySQL數(shù)據(jù)庫的root初始密碼
進入MySQL容器
docker exec -it mysql bash
#連接容器之后連接容器的mysql數(shù)據(jù)庫
mysql -u root -p
#執(zhí)行已下命令創(chuàng)建用戶、數(shù)據(jù)庫、給用戶賦權(quán)
create database if not exists wordpress;
create user 'username'@'%' identified by 'password';
grant all on wordpress.* to 'username'@'%';
運行wordpress容器
docker run -d -i -t --name wordpress --network wpmysql -p 8080:80 --link mysql wordpress
登入wordpress
? 用瀏覽器地址欄輸入:http:yourip:8080即可登入wordpress的設(shè)置界面數(shù)據(jù)庫主機那一欄輸入 mysql其余看提示應(yīng)該沒有問題
可能出現(xiàn)的意外情況
端口未開放,使得輸入
http:yourip:8080顯示無法連接,此時請找百度查看本機端口8080、3306是否開放-
wordpress站點只能為英文,不能下載主題,不能更換語言,顯示too many requests,具體原因百度搜索。
解決方法:
插件中心搜索
WP-China-Yes這是國人開發(fā)的插件,插件里有介紹不在此贅述。此時可更新主題、博客語言走到
運行wordpress容器這一步運行完之后,進入此搭載wordpress的容器docker exec -it wordpress bash此容器刪除/var/www/html目錄下的所有文件rm -rf *。移步至本地用迅雷(或其他下載軟件)下載https://cn.wordpress.org/wordpress-5.3.2-zh_CN.tar.gz然后上傳至服務(wù)器(不會請百度,用scp,或filezilla),解壓此文件tar -zxvf wordpress-5.3.2-zh_CN.tar.gz然后將文件夾傳送搭載wordpress的容器docker cp wordpress wordpress:/var/www/html修改文件夾的所屬組chown -R www-data:www-data wordpress此時瀏覽器訪問http://your-ip:8080/wordpress即可進入wordpress安裝界面,不過同樣最好下載WP-China-Yes否則主題等之類的還是不能正常更新。