Docker 是現在不可或缺的工具之一,容器化能有效更方便快速佈署
撇除掉 CICD 環節,光基本操作就能省事很多
以下會以 WordPress 的案例進行簡單的示範
流程
- 將 WordPress 放進 Docker 之中
- 針對 Database 進行備份
將 WordPress 放進 Docker 之中
這邊可以使用 Docker Composer 來直接建立一個 WordPress
這邊參考 WordPres Docker compose example1
1 | services: |
這邊額外添加了 themes plugins languages 等的設定,
以便於往後 themes 與 plugins 的設定
而 db_data 與 uploads 則是因為常駐儲存檔案
1 | docker-compose up -d |
自動進行 DB 備份,但是針對 Docker 去作
自動備份的部分,通常本地會透過 Cronjob 的方式來進行
參考 stackoverflow2 的範例
1 | 0 4 1,8,15,21,28 * * DATE=`date +%y-%m-%d`; mysqldump -u [USER] -p[PASSWORD] test_db | gzip > dbname-$DATE.sql.gz |
不過,因為我們這邊要改用 Docker 的方式進行
故可以改用這種方式進行備份,有人也有範例3 怎麼透過 Docker 匯出 SQL
1 | 0 4 1,8,15,21,28 * * DATE=`date +%y-%m-%d`; docker exec [CONTAINER] //usr/bin/mysqldump -u [USER] -p[PASSWORD] --routines --triggers test_db | gzip > dbname-$DATE.sql.gz |
除此之外,我們可以改用 Shell Script 的方式進行
新增一個 Script 叫作 backup.sh
1 |
|
1 | chmod +x backup.sh |
1 | 0 4 1,8,15,21,28 * * /usr/bin/bash /opt/scripts/backup.sh |