近期有想要將用了許用的 Worpress 做升級與更使使用套件的動作,另外也一直對新版的 WordPress 有著強烈的好奇心,在使用上新版時也先整理了一些之前舊版 WordPress 常用的套件,主要是因為也都用習慣了,對於只是拿來當開發的筆記本的話相對的也是需要可以穩定,此外在舊的資料轉移的過程中也不知道會不會有問題,因此也在本機端安裝了 MAMP 的 PHP Server 套件來測試,Wordpress 裝是裝起來了,不過心裡是一直想如果有不同的版本別的話,那不是只能在一台上安裝,而資料庫 MySQL 的部份也不可能在別台上直接使用,因此也想起了梅干有寫過 Docter 的文章來使用 PHP 與 WordPress 測試使用,因此也想就花了點時間將實際的做法跟著執行一次。

梅問題 Docter WordPress 的相關文件

[教學]MAC安裝Docker與打造PHP環境和自訂網站根目録、Docker常用指令列表
[教學] DockerFile打造PHP環境,並手動安裝WordPress
Quickstart: Compose and WordPress


01-安裝 Docker 在 MacOS 中

Docker 使用相關連結

官方網站:www.docker.com
教學手冊:docker_practice
Docker下載:docker-ce-desktop-mac
Docker商店:store.docker.com

Docker常用指令

01-1-下載 Docker 安裝檔

先去官網上註冊帳號,帳號登錄後就可以直接按下戴按鈕取得安裝檔,接著安裝進電腦內。
Docker-使用PHP、MySQL環境安裝Worpress-1

將 APP 拉進 應用程式資料夾中後,接著點按執行 APP ,在系統的右上方常註上就可以看到 icon,帳號登入使用如果是啟用的話,就會出現綠燈,接著就可以在 terminal 裡輸入 CLI 指令,另外如果硬體的效能分別的話,可以進 Docker 的 Preferences 內設定 CPU / RAM 等效能分配設定。
Docker-使用PHP、MySQL環境安裝Worpress-2


02-PHP環境建立與自訂網站根目錄

進入 Docker 商店,尋找安裝 PHP 的版號與不然功能 image,就在輸入框中 Key PHP,接著就會出現相關的資料。
Docker-使用PHP、MySQL環境安裝Worpress-3

進入後有各種 php 的版本,安裝是將安裝語法輸入 Terminal 內。
Docker-使用PHP、MySQL環境安裝Worpress-4

在預設位置前方,放入修改位置,以及埠號和要執行的php版本。
Windows 的路徑則需使用絕對路徑,如: C:\Users\minwt\dockerweb\aaa 則要寫成 //c/Users/minwt/dockerweb/aaa,另外要注意平台對應的斜線,Window 是 \ ,而 MacOS 是 /

第一次輸入指令時會跑一小段時間,主要是會上 docker 官網上載對應的檔案與 image 下來,第一次指令少打了 :80 的埠號,但還是將環境啟用,而在瀏覽器上自然是沒有內容 (出現錯誤)。
Docker-使用PHP、MySQL環境安裝Worpress-5

第二次輸入指令,將 :80 帶入,此時輸入指令 docker ps ,會見到執行二個不同的環境,使用指令 docker stop 將沒要用的境境關閉。
Docker-使用PHP、MySQL環境安裝Worpress-6

info.php 檔放到網站根目錄中,針對啟用的 prot 號輸人網址,就可以看到相關的內容了。另外也將不同版別的環境指執行,分別指派不同的 port 號,輸入指令後就會看到再載入不同的 image 內容下來電腦中,瀏覽器也別分輸入不同 port 的網址就可以看到不同的 PHP 版別於瀏覽器中。
Docker-使用PHP、MySQL環境安裝Worpress-7
Docker-使用PHP、MySQL環境安裝Worpress-8


3-MySQL 與 WordPress 的安裝

Docker Store中就有WordPress的影像檔可利用,為何要這麼辛苦,自己手動安裝WordPress,其實最主要的原因就在於,Docker Store中的WordPress版本,則是以目前正式發布的為主,若要安裝測試的版本,那就得手動安裝才行。

把MySQL裝上後,就可以安裝WordPress,理論流程是這子沒錯,但礙於WordPress的資料庫連線方式,在PHP7.0內建並不支援,因此就得特別再作擴充,才能正常的連線,所以這時就得自行打造DockerFile,自行建立PHP的環境與擴充,這樣就可以自行手動來安裝WordPress,或是任何的系統。

3-1-腳本檔與執行設定檔執行 docker

Dockerfiledocker-compose.ymlinfo.php 放到網站根目錄下。

特別注意:
Dockerfile 沒有副檔名。
所使用的 PHP 版別是 php:7.0-apache 版本。

如果 ports: - 80:80 改成 ports: - 8031:80 ,8031 的部份就是指瀏覽器外連的 port 號。

3-2-執行指令與開啟環境,設定 MySQL 與 WordPress

確定網站目錄路徑後,輸入 docker-compose up -d ,發佈完畢後,再輸入 dokcer ps,分別就會看到 mysql、adminer、php 三個 container。
Docker-使用PHP、MySQL環境安裝Worpress-9

指令與環境發佈後會在資料夾入多個 db 資料夾,這就是 MySQL 資料夾,此時去 WordPress 官網將要安裝的版本解壓縮後放裡網站的根目錄或是指令的相對路徑。
Docker-使用PHP、MySQL環境安裝Worpress-10

瀏覽器開啟跛徑 127.0.0.1:8080 ,登入資料庫頁面,帳密都是 root
Docker-使用PHP、MySQL環境安裝Worpress-11

建立一個新的資料庫。
Docker-使用PHP、MySQL環境安裝Worpress-12

最後就和一般 WordPress 的安裝方式一樣安裝,但特別要注意資料庫的欄位,主機位址是要輸入 db ,不是 localhost 或是 127.0.0.1 ,得特別留意到。
Docker-使用PHP、MySQL環境安裝Worpress-13
Docker-使用PHP、MySQL環境安裝Worpress-14