從小包包裏掏出一個 WordPress

開站第一篇文章,總結一下如何使用 docker 來構建一個 WordPress 站點,以及期間遇到的問題。本站以個人筆記以及雜談的性質來提供,不求其他人也能看得懂,主要用於備忘。發表的文章所採用的語言包括所有窩會的語言,所以也沒辦法求其他人能一定看得懂。

首先回歸正題。

貓貓之前一直都說 docker 用起來如何方便,然而經過之前一次嘗試構建 mastodon 的慘痛經歷之後,一直都沒能有心情來嘗試搞事情。然而由於最近在趕完若干篇稿子之後,終於難得有幾日的閒暇,以及某些迫不得已的剛需,於是就又打算搞起來惹~。。。

之所以第一發選擇 WordPress,一來是因爲一直想有一個長期的備忘錄性質的筆記本,以及可以讓自己隨意畫畫寫寫的板子;而二來也是因爲據說這個東西搞起來比較簡單。而選擇使用 docker 來作爲搭建的基礎,則完全是因爲貓貓的安利了。當然,方便簡單也是主要被考慮的原因之一。畢竟,作爲一個寫稿子的,技術和能力都比不上經驗豐富的貓貓,也就只有量力而爲了。

起初找到的一個教程是如何使用 docker 起一個數據庫實例和一個 WordPress 實例,然後讓這兩個實例配合在一起使用。然而看過之後就覺得,手動管理兩個實例貌似操作起來過於繁瑣了。於是就想到了之前貓貓在教窩配置 mastodon 的時候提到過的 docker-compose 了。

於是,窩就噠噠噠跑去看 docker-compose 的教程了。由於有了一點點之前的理解,在簡單過了一遍前面的說明之後,就開始自己動手寫了起來:

version: "3"

services:
    db:
        restart: always
        image: mariadb:latest
        environment:
            MYSQL_ROOT_PASSWORD: xxxxxx
            MYSQL_DATABASE: wordpress
        volumes:
            - /root/workspace/wordpress/mysql/:/var/lib/mysql

    wordpress:
        depends_on:
            - db
        restart: always
        image: wordpress:latest
        environment:
            WORDPRESS_DB_HOST: db:3306
            WORDPRESS_DB_USER: root
            WORDPRESS_DB_PASSWORD: xxxxxx
        volumes:
            - /root/workspace/wordpress/html/:/var/www/html
        ports:
            - "80:80"

volumes:
    mysql:
    html:

最終,成品的配置文件就是醬紫惹。其實在寫的過程中又翻到了 docker-compose 教程裏面給的那個 WordPress 的配置文件。本來想用的來着,然而卻怎樣也跑不起來,總在說 MySQL 恢復數據庫失敗。於是,一氣之下就把數據庫換成了上面提到過的那份分開手動控制的那份教程裏面使用的 MariaDB。最後終於是跑起來了,docker-compose 不再報錯了。

於是,興沖沖的跑去用瀏覽器看了一下,然後發現數據庫連接出問題了 T_T。查了下 log 發現是數據庫拒絕連接了。雖然並不清楚是因爲神馬造成的拒絕連接,但是憑着多年以來的直覺,將數據庫用戶換成了 root,於是大功告成。

然而,又有了新的狀況。在配置文件裏面 volume 項中指定的文件夾裏面並沒有文件。問了貓貓,說讓窩看一下“資料庫起來沒有”,顯然這並不是窩應該會的操作。無奈之下,在貓貓的提醒下更新了一下 volume 中的路徑爲絕對路徑,然後又重啓了一下 docker 服務以及這兩個容器。接着收到了一條警告說之前指定的 volume 的值因爲使用了舊的容器所以無效。於是果斷的刪掉了之前的容器,然後又重新開了這兩個容器。終於,volume 文件夾內也有文件了。超讚!

這樣,應該也就差不多了吧,,,大概。。。剩下的也就是折騰 HTTPS 以及主題神馬的了,打算明天或者以後再弄吧。。。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *