Docker Compose介紹: “應用層”的服務
Docker Compose是Docker編排服務的***一塊,前面提到的 Machine可以讓用戶在其它平臺快速安裝Docker, Swarm可以讓Docker容器在集群中高效運轉,而Compose可以讓用戶在集群中部署分布式應用。簡單的說,Docker Compose屬于一個“應用層”的服務,用戶可以定義哪個容器組運行哪個應用,它支持動態改變應用,并在需要時擴展。
Docker Compose介紹
使用Compose的***步是使用YAML文件來定義容器應用的狀態:
- containers:
- web:
- build: .
- command: python app.py
- ports:
- - "5000:5000"
- volumes:
- - .:/code
- links:
- - redis
- environment:
- - PYTHONUNBUFFERED=1
- redis:
- image: redis:latest
- command: redis-server --appendonly yes
上面的YAML文件定義了兩個容器應用,***個容器運行Python應用,并通過當前目錄的Dockerfile文件構建。第二個容器是從Docker Hub注冊中心的Redis官方倉庫中構建。 links指令用來定義依賴,意思是Python應用依賴于Redis應用。
定義完成后,通過下面的命令來啟動應用:
- % docker up
簡單吧?通過YAML文件定義的容器應用已經成功啟動起來,啟動過程會按照YAML的配置嚴格運行。Python容器通過Dockerfile自動構建, 同時從注冊中心拉取Redis容器構建。 links指令關注的是Python和Redis容器之間的依賴關系,Redis容器是***開始構建,緊隨其后的是Python容器。
Docker Compose應用目前還在緊張開發中,感興趣的讀者可以關注 GitHub動態。