在上一篇內容中我們透過 Docker Compose 同時開啟了網站服務和資料庫。透過簡單的操作就可以知道其驚人的方便性。本篇當中我們更細部的介紹 Docker Compose 的參數及設定。
我們在編寫 Docker Compose服務時,是透過docker-compose.yml 檔案進行相關設定,那什麼是 .yml檔呢?
yml檔 指的是 YAML 格式的檔案, YAML 的讀法為『耶某』。是一種就有高可讀性,用於表達資料序列的格式。 YAML的全名為 "YAML Ain't Markup Languoage", 起初的名稱為 "Yet Another Markup Language",表示這格式是以數據為中心,不是以標記語言為重點。
YAML檔可以使用縮排/區塊進行表示,而我們在此處為縮排方式,透過縮排區隔服務。更細部的介紹可以參考 YAML官網及維基百科。
再回頭來看看上一篇中的 docker-compose.yml
version: '3'
services:
app:
# docker build 的設定
build:
context: .
#port 對應
ports:
- "8888:8888"
#volumes 對應
volumes:
- ./app:/app
#指令
command: >
sh -c "python manage.py runserver 0.0.0.0:8888"
db:
# mysql image 版本
image: mysql:5.7
# 是否自動啟動
restart: always
# 環境變數設定
environment:
MYSQL_DATABASE: 'db'
MYSQL_USER: 'admin'
MYSQL_PASSWORD: 'admin'
MYSQL_ROOT_PASSWORD: 12345678
ports:
- '3306:3306'
version 定義docker-compose 的版本
service 的區塊當中,我們設定我們會用到的服務,其中在這邊我們設定為 app 以及 db,並在各自的縮排下進行係度的設定
在這邊我們列出常用到的,以及本次教學裡會用到的設定,Docker Compose 還有更多可以設定的功能,有興趣可以參考其官網。