OK,這篇也算是Compose程式教學最後一篇了
我們來學習最後一個Compose觀念
並啟動最終的完整Docker Compose吧!
上一篇有談到一個可以控制"Container啟動順序"的屬性
但其實Docker Compose屬性是百百款喔
只要想的到,沒有做不到
幾乎就是Compose的代名詞了
意思就是,不可能透過教學教完所有Compose屬性
所以下面就提供官方文件讓大家自行發揮囉!
進到官網後,請點擊側欄來瀏覽文件
但有些蠻重要的屬性還是得透過文章來講述
所以這篇我們要來談到的是"內置指令"
那顧名思義就是給Container去執行的指令
主要可實現自動化的功能
第一個直接翻譯剛好是內置指令
其功能就像有個隱形人在shell介面打入指令一樣
舉例來說
有個Browser的APP每次都要手動輸入以下指令才能打開分頁
google-chrome --start-maximized
有了Compose之後,只要在Container屬性下插入以下段落的指令
這樣每次啟動後就能看到入口分頁拉!
command: google-chrome --start-maximized
小提示
command變量可以為任何形式 (c++,java,python,bash,script......)
只要可以插入並正確執行指定Container的command,ALL OF WORK!
上一篇有談到
Compose裡的depends_on屬性雖然可以決定執行先後順序
但卻無法確保某個Container的意外中斷 (看似有在執行,實際上卻無回應)
這樣我們就要時刻檢查所有Container的健康狀況了
必要時直接中止整個APP
# 程式插入點,每個Container
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost"]
interval: 2m
timeout: 15s
retries: 3