(先說一下,如果還沒有用過 Docker 的話,阿舍就不建議用這個方式來試用 Drupal,阿舍沒有在這篇文解釋太多有關 Docker 的操作及指令說明哩 ....)
嗯 ... Drupal 果然有在 Docker 上提供 Drupal 7 ~ 8 的 Docker Image,所以,要用 Docker 來試 Drupal 就會單純些,於是,阿舍就先執行了下面第一行指令看一下有沒有 Official Image。
$ docker search drupal
果然有(就是在 Official 那一欄有出現 [OK] 那個),所以,阿舍就用下面這一行指令來下載 Dockerhub 上的最新一版的 Drupal Docker Image 來用囉 ! 以阿舍下載的時間點來說,剛好是阿舍想測的 Drupal 8.1.1,所以,直接用下面第一行指令來就可以了,然後,再用第二行指令來看一下版本。
$ docker pull drupal
$ docker images | grep drupal
Drupal 官方提供的 Docker Image 沒有包含 MySQL,所以,除了要下載 Drupal 的 Docker Image 之外, 還要再下載 MySQL 或 PostgreSQL 資料庫的 Docker Image 來用,阿舍是想用 MySQL 資料庫來測,所以,就用下面的指令來下載 MySQL 的 Docker Image。
$ docker pull mysql
想用的 Docker Image 都準備好之後,接下來,就可以開始來啟動 Drupal 了,首先,請先用下面的指令來把 MySQL Server 給啟動起來,下面指令中的 MYSQL_ROOT_PSSWORD 是設定 MYSQL 的 root 帳號的密碼,而接著的 MYSQL_DATABASE、MYSQL_USER 和 MYSQL_USER_PASSWORD 則是設定要在這個 MySQL Container 啟動後,自動建立的資料庫名稱及這個資料庫的使用者帳號和密碼,阿舍用這種給環境參數的方式來建立一個叫 d811 的資料庫來給 Drupal 用,使用者叫「ayu」、密碼是「567890」。
$ docker run --name d811-mysql -e MYSQL_ROOT_PASSWORD='123456789' -e MYSQL_DATABASE='d811' -e MYSQL_USER='ayu' -e MYSQL_PASSWORD='567890' -d mysql
接著,就用下面的指令來啟用 Druapl 並且把 MySQL 連接上這個 Drupal 的 Container (--link 選項的第一個 d811-mysql 是要連結的 Container 名稱,而第二個 d811-mysql 則是要將這個 Container 對映到的主機名稱,也就是之後設定 Drupal 資料庫的「Database host:」選項會用到的值哩 ...)。
$ docker run --name d811 --link d811-mysql:d811-mysql -p 80:80 -d drupal
執行好上面二行指令後,用下面的 docker 指令來看一下剛剛啟動的這二個 Container 的狀況,如果在「STATUS」那一欄是看到「UP ...」而不是「Exit ...」的話,那就是正在執行了,這樣,就可以用去開網頁了 ...
$ docker ps
一般是用「http://127.0.0.1」就可看到 Drupal 的設定頁,然後,在設定的資料庫的時候,除要用剛剛 MYSQL_DATABASE、MYSQL_USER 和 MYSQL_USER_PASSWORD 等參數的設定值來設定外,比較特別的是,要點開「ADVANCED OPTIONS」項目,在「Database host:」那一欄輸入「d811-mysql」,不然,Drupal 會找不到 MySQL Server 的 ....
一切順利的話,就會看到 Drupal 安裝完成後的歡迎畫面,接著,就可以開始試用了,阿舍稍微的試了一下 Drupal 8,阿舍覺得用起還滿順手的,以前熟悉的感覺又回來了,嗯 ... 雖然,還沒測到阿舍在介紹影片看到的東西,不過,已經有吸引到阿舍有空想來好好玩一下這個 Drupal 8 哩 ... 呵呵 !
最後,阿舍想要提醒一下,阿舍這篇介紹的這種用 Docker 安裝的方式應該只適合用來做測試,因為,阿舍沒把資料掛到外部的儲存空間,所以,一旦 Docker Container 關了,就什麼設定都沒了,如果想要 Docker 在正試環境跑 Drupal 的話,還需要更多一點的規劃和設定,阿舍有空,再來研究一下哩 ...
推薦閱讀
- 問題沒解決嗎? 更多的 Ubuntu 教學在 這裡
- Prompt Injection: 提示詞注入安全漏洞
- 二款 Mac 無痛安裝的 Stable Diffusion 軟體
- 用 AI 寫部落格文章好不好 ?
- 沒有免費的 Midjourney 和 Colab 又不想花錢怎麼辦 ?
- 不學 Prompt 技巧也能善用 ChatGPT 的簡單方法
- 企業 AI 應用:不只是聊天機器人
- Automatic 比 Automatic1111 更好用 ? 都是 Stable Diffusion WebUI
- Stable Diffusion 的 /describe 圖生文功能
- AI 畫出讓人可怖的美圖 !
有疑問? 問題還是沒解決嗎? 歡迎下方留言提問和討論 😁
2 則留言 :
你好~
不曉得阿舍Docker的版本是多少,
我用的時候是1.12.2
$ docker image | grep drupal
這行的image要加s,才會正常哦
$ docker images | grep drupal
Hello,
是阿舍打錯了哩 ... 呵 !
已修正。 謝謝囉 !
張貼留言
歡迎留言提問和討論 .... 😁