1.Docker
docker是一個運行于主流linux/windows系統上的應用容器引擎,通過docker中的鏡像(image)可以在docker中構建一個獨立的容器(container)來運行鏡像對應的服務;
例如可以通過mysql鏡像構建一個運行mysql的容器,既可以直接進入該容器命令行訪問mysql服務,也可以在創建容器時將相關端口映射到宿主機對應端口遠程訪問。
可以單獨將應用及其依賴構成成一個獨立鏡像,例如可以通過編寫dockerfile將python環境及python項目打包成一個鏡像創建容器運行。
2.Docker-compose
docker-compose可以使得多個容器只通過一個文件來管理當前主機上的多個容器,這個文件中包含需要啟動的容器信息,如名稱、配置等信息,通過docker-compose up即可根據該文件的配置信息啟動對應的多個容器
3.K8s
k8s是可以管理、監控多個主機上的容器的工具,如果容器異常可以重新給用戶啟動一個新容器,也可以提供個容器之間資源等的負載均衡
k8s比docker swarm提供了更多的功能如自動部署、備份、拓展等,可以應用于更大規模的容器集群
4.Docker swarm
Docker swarm也是用來管理基于多主機的容器集群,它提供了基本的容器編排功能,適合小規模的容器集群使用。