天天看點

運維面試小技巧之docker的三劍客【Docker Compose、Docker Machine、Docker Swarm】和各自的角色扮演

docker的三劍客(三駕馬車)

三者簡介

Docker Compose

  • 負責快速的部署分布式應用,compose是用來定義和運作一個或多個容器應用的工具使用,可以簡化容器鏡像的建立及容器的運作, 使用 YAML 檔案來定義多容器之間的關系,基于python語言開發,非常适合在單機環境裡部署一個或多個容器,并自動把多個容器互相關聯起來,開源網址https://github.com/docker/compose

簡單說,簡化容器的生成和運作,檔案以yaml結尾【不以yaml結尾時,需用 -f參數指引檔案運作】

Docker Machine

  • Docker Machine 是一個簡化Docker 安裝的指令行工具,負責在多種平台上快速安裝 Docker 環境,通過一個簡單的指令行即可在相應的平台上安裝 Docker,為使用者提供了靈活的功能,使得使用者可以在任一主機上運作 Docker 容器,基于Go語言實作,目前在Github上進行維護

簡單說,一個 Docker Machine 就是一個 Docker host 主機和經過配置的 Docker client 的結合體

Docker Swarm

  • 是使用SwarmKit建構的 Docker 引擎内置(原生)的叢集管理和編排工具。Docker Swarm是 Docker 官方三劍客項目之一,提供 Docker 容器叢集服務,是 Docker 官方對容器雲生态進行支援的核心方案

簡單說,叢集化部署管理docker

角色扮演【應用/功能】

dcoker-compose主要是解決本地docker容器編排問題

docker-machine是解決docker運作環境問題

docker-swarm是解決多主機多個容器排程部署的問題【叢集】