最近終於有空可以開始動工遷移blog了,這次的目標是將部署/備份/還原 WordPress 資料的時間縮到最短,以往要搬家就很蛋疼,這次用docker-compose一次解決掉!
原先考慮到安全性,從有後台的 WordPress 搬到靜態網頁的 Hexo 框架,但用 Hexo 來撰寫 blog 很吃寫作環境,出門在外十分不方便,於是最後只好又投向 WordPress 的懷抱了。
環境準備
- Web Server環境:安裝 Nginx 或 Apache 的主機
- Docker 環境:
docker
,docker-compose
我這邊的 Server 採用 Synology NAS,首先使用套件中心安裝 Web station
和 Docker
開啟 NAS 的 SSH 登入,會發現 docker
和 docker-compose
都安裝好了
用 Synology NAS 就是快,點兩下就把部署環境準備好了。
建立 WordPress 服務
建立 WordPress 服務只需要資料庫和 WordPress 的 Docker image,為了往後方便調整資料庫,在這邊也加入 phpmyadmin。
若第一次使用 docker
和 docker-compose
部署服務,可以直接使用下列的 docker-compose.yml
version: '3.3'
services:
mariadb:
image: mariadb:latest
volumes: ['./mariadb:/var/lib/mysql']
restart: always
environment:
MYSQL_ROOT_PASSWORD: <password>
MYSQL_DATABASE: wp_SkyLake
MYSQL_USER: wp_SkyLake
MYSQL_PASSWORD: <password>
networks:
wpsite:
phpmyadmin:
depends_on:
- mariadb
image: phpmyadmin/phpmyadmin
restart: always
ports:
- '8080:80'
environment:
PMA_HOST: mariadb
MYSQL_ROOT_PASSWORD: <password>
networks:
- wpsite
wordpress:
depends_on:
- mariadb
image: wordpress:latest
ports:
- "8000:80"
restart: always
volumes: ['./wordpress:/var/www/html']
environment:
WORDPRESS_DB_HOST: mariadb:3306
WORDPRESS_DB_USER: wp_SkyLake
WORDPRESS_DB_PASSWORD: <password>
WORDPRESS_DB_NAME: wp_SkyLake
networks:
- wpsite
networks:
wpsite:
註
- 新建另外一個wordpress網站的時候,host的port不可以重複
- 使用
docker-compose up -d
建立wordpress服務後,只要備份wordpress
和mariadb
資料夾即可。
參考資料
轉移紀錄
- 2019/06/17 轉移SkyLake’s Blog
- 2019/07/14 轉移Stranger’s Blog
- 2019/08/05 轉移Leoliday’s Blog
請問可以教我Wordpress嗎