WordPress with container 練習小記
OS: openSUSE Leap 15.2 in Azure
今天來寫 WordPress 的練習文章
現在 WordPress 的使用率已經越來越高了, 今年的一些讀書計劃的內容內也有 WordPress 的規劃
首先就使用 container 的方式來進行練習.
規劃架構
使用 openSUSE Leap 15.2 VM in Azure 作為 container host
使用 container 方式執行 MySQL 與 WordPress
建立獨立的 container network 給 WordPress 與 MySQL
好處是可以使用名稱的方式連接
建立 container volume web-data
掛載 MySQL 的 /var/lib/mysql 以利後續維護與升級
可以考慮另外建立獨立的 volume 來存放 WordPress 的 Plugin
在 Azure 內建立 openSUSE Leap 15.2 的 VM
SSH 連線虛擬機器, 並使用 > sudo su - 切換為管理者 root
啟動 docker 服務
# systemctl start docker
首先觀察主機上的 volume
# docker volume ls
DRIVER VOLUME NAME
建立 volume
# docker volume create web-data
web-data
觀察資訊
# docker volume ls
DRIVER VOLUME NAME
local web-data
# docker volume inspect web-data
[
{
"CreatedAt": "2021-01-03T06:04:30Z",
"Driver": "local",
"Labels": {},
"Mountpoint": "/var/lib/docker/volumes/web-data/_data",
"Name": "web-data",
"Options": {},
"Scope": "local"
}
]
可以觀察 web-data 在本機上面的 mountpoint
一樣, 建立之前先觀察資訊
# docker network ls
NETWORK ID NAME DRIVER SCOPE
0362ba8e433b bridge bridge local
1e4986872739 host host local
0ac3b895fef7 none null local
建立 network
# docker network create web-network
457bc7fc24f0b26796f32f5f3191853b9363a3a83e07044cf8d4fe5bd8a213fa
再次觀察資訊
# docker network ls
NETWORK ID NAME DRIVER SCOPE
0362ba8e433b bridge bridge local
1e4986872739 host host local
0ac3b895fef7 none null local
457bc7fc24f0 web-network bridge local
爲何要建立 network, 因為預設 bridge network 不能用名稱解析, 這樣會連接不到
可以參考官方的說明: Differences between user-defined bridges and the default bridge
User-defined bridges provide automatic DNS resolution between containers
Containers on the default bridge network can only access each other by IP addresses, unless you use the --link option, which is considered legacy
另外一篇文章
開始佈署 MySQL
# docker run --name web-mysql --network web-network -e MYSQL_ROOT_PASSWORD=rootpassword -e MYSQL_DATABASE=wp -e MYSQL_USER=sakana -e MYSQL_PASSWORD=sakanapassword -d mysql:5.7
開始佈署 WordPress
# docker run --name web-wordpress --network web-network -e WORDPRESS_DB_HOST=web-mysql:3306 -e WORDPRESS_DB_NAME=wp -e WORDPRESS_DB_USER=sakana -e WORDPRESS_DB_PASSWORD=sakanapassword -p 80:80 -d wordpress
因為只是實驗, 所以上面的相關密碼就用簡單的方式
如果要更安全的方式可以考慮使用 docker secret
參考 Wordpress dockerHub
Docker Secrets 方式可以考慮 -e WORDPRESS_DB_PASSWORD_FILE=/run/secrets/mysql-root
進行測試
首先在 Azure 上的網路安全性群組, 先開放 port 80 可以存取
接下來連線 VM 的對外 IP
就會進入 WordPress 的安裝畫面
語系選繁體中文 -- > 繼續
輸入相關資訊
點選 安裝WordPress
大功告成
點選 登入
使用剛剛建立的帳號密碼
就可以進行登入
接下來就可以進入後台轉寫文章, 進行設定
或是觀察自己的第一個 WordPress 了
另外也有看到 docker-compose 安裝方式, 先放在下面, 以後再說
docker-compose 安裝
在 minikube 上架設 Stateless Wordpress
又離 WordPress 進了一步
~ enjoy it
Reference
沒有留言:
張貼留言