使用 Docker Compose 快速建立 Ghost
在上次安裝 CoreOS 後,首先搬家就是 Blog 了!
先到 Ghost 的 Docker Hub 看看,看似相當地簡單。
Docker Compose
雖然可以直接使用 docker run
指令來完成,但我採用了可重用的方式,docker compose 是 Docker 官方的應用,可以把 docker run
的指令都記錄在 YAML 檔中,只要用 docker-compose up 指令就可以隨時運行內裡的一連串指令,不用每次都全部記住。
安裝 Docker Compose
$ sudo curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m) -o /opt/bin/docker-compose
使用官方的連結下載最新的 docker-compose 來安裝
$ sudo chmod +x /opt/bin/docker-compose
然後更改一下權限就完成了
$ sudo docker-compose --version
docker-compose version 1.22.0, build f46880fe
設定 docker-compose.yml
先建立一個 docker-compose.yml 檔來存放設定
我因為用了預設定 sqlite3 作 database
所以不用設定 MySQL,比官方的 docker-compose 更簡單
另外因為 container 使用的是 image,要更改設定或檔案只要幾個方法
- 使用 image 本身設定好的 environment 去設定,通常最常見的設定也可以修改,也是最建議使用的方法。
- 把 image 內的原本的檔案 mount 到外面,那麼 docker run 的時候會把檔案複製到外面,然後你直接改外面的檔案就可以,這個例子就 mount 了 content 出來。
- 把更改了設定的 image 重新打包,但我覺得這樣會污染了原 image,也不利版本更新,盡量不會這樣做。
有幾點設定時需要注意
- 因為
YAML檔
是根據 tab 去分辦層數,必需注意 - 不同 docker-compose version 格式會不同
- Image 盡量做用 Apline 版本
正式運作
東西都設定好了就可以運作了,只要用指令 sudo docker-compose up
就可以開始運作
Creating 256pages-blog ... done
Attaching to 256pages-blog
...
256pages-blog | [2018-07-27 09:20:03] INFO Ctrl+C to shut down
256pages-blog | [2018-07-27 09:20:03] INFO Ghost boot 4.801s
測試過沒有問題按 Ctrl + C 退出
然後就可以正式運作,在最後加上 -d
就可以保持一直運作!
sudo docker-compose up -d
那麼網址怎麼辦?
網址要靠 nginx proxy 去解決
下回再教用 docker-compose 部署 nginx proxy 同時自動申請免費 SSL 證書!