Byte Ebi's Logo

Byte Ebi 🍤

每天一小口,蝦米變鯨魚

Docker 筆記 3 - docker-compose

介紹如何使用 docker-compose 管理多個容器

Ray

如果同時要管理彼此是有關連的多個 docker 容器,單純使用 docker 指令必須要自行記得容器之間的關聯
而使用 docker-compose,則可以輕鬆定義多容器服務

簡介

  • Docker for Mac 預設
  • python 所寫成的工具
  • 由yaml定義
  • 設定檔為 docker-compose.yml
  • 依賴 docker 版本

官方文件:docker-compose

設定檔構成

docker-compose.yml 由兩個部分所構成

  • version(版本要字串)
  • services
    • key -> DNS name(hostname)

docker-compose 範例

其他工具

docker-swarm

  • 看成 kubernetes 的分身
  • 落地方便(kubernetes 準備工作很多)
  • 高可用性 HA
  • 價格便宜

組成(Node)

  • 分兩個節點。
    • Manager:
      • 分派任務給 worker node
      • 同時也是 worker node
      • 控制整個 Docker Swarm 的部署
      • 主控制節點
      • 如果死掉,整個 docker swarm 就死掉了
      • 可以有多台 manager,但只有一台 &*$%^^#???
    • Worker:
      • 被分派任務
      • 不會主動分派任務
      • 不知道其他 worker node
  • 可以隨時 rolling update。
  • 在所有 node 底下:
    • Service:
      • 一個Service包含一種container
      • Service啟動不代表container啟動
      • 可以對container進行health check
      • Service可以啟動複數個container(replicas)
    • Task
      • 主要是由Service帶起來的
      • 代表在docker container內執行的指令
      • task會在node上到執行結束為止

最新文章

Category

Tag