若要在一個 docker-compose 中起容器,達成「僅開啟特定容器」的效果時,可以透過 profiles 來達成。這邊筆記一下寫法和注意事項。
內容
1. 在每一個服務中,利用 profiles 的文字陣列來達成,像是 [‘dev’, ‘prod’] 就代表你下的 docker-compose up 需要包含這兩個關鍵字的其中一個,才會啟動。
2. 若你的容器服務沒有 profiles 變數,那就代表「都會啟動」
1 2 3 4 |
# bash docker-compose --profile staging up # 啟用名為 staging 的容器 docker-compose up # 啟用沒有預設任何 profile 的容器 |
3. 有重複的字樣,可以透過 x-properties 來宣告並插入指定位置。請注意它沒有合併功能。
4. 可以透過 docker-compose config 來確認最後輸出的結果
參考資料
1. docker-compose up for only certain containers
2. YAML anchors
3. Docker Tip #82: Using YAML Anchors and X Properties in Docker Compose