docker、docker-compose、docker swarm和k8s的區別

Docker

Docker 這個東西所扮演的角色,容易理解,它是一個容器引擎,也就是說實際上我們的容器最終是由Docker創建,運行在Docker中,其他相關的容器技術都是以Docker爲基礎,它是我們使用其他容器技術的核心。

Docker-Compose

Docker-Compose 是用來管理你的容器的,有點像一個容器的管家,想象一下當你的Docker中有成百上千的容器需要啓動,如果一個一個的啓動那得多費時間。有了Docker-Compose你只需要編寫一個文件,在這個文件裏面聲明好要啓動的容器,配置一些參數,執行一下這個文件,Docker就會按照你聲明的配置去把所有的容器啓動起來,只需docker-compose up即可啓動所有的容器,但是Docker-Compose只能管理當前主機上的Docker,也就是說不能去啓動其他主機上的Docker容器

Docker Swarm

Docker Swarm 是一款用來管理多主機上的Docker容器的工具,可以負責幫你啓動容器,監控容器狀態,如果容器的狀態不正常它會幫你重新幫你啓動一個新的容器,來提供服務,同時也提供服務之間的負載均衡,而這些東西Docker-Compose 是做不到的

Kubernetes

Kubernetes它本身的角色定位是和Docker Swarm 是一樣的,也就是說他們負責的工作在容器領域來說是相同的部分,都是一個跨主機的容器管理平臺,當然也有自己一些不一樣的特點,k8s是谷歌公司根據自身的多年的運維經驗研發的一款容器管理平臺。而Docker Swarm則是由Docker 公司研發的。

既然這兩個東西是一樣的,那就面臨選擇的問題,應該學習哪一個技術呢?實際上這兩年Kubernetes已經成爲了很多大公司的默認使用的容器管理技術,而Docker Swarm已經在這場與Kubernetes競爭中已經逐漸失勢,如今容器管理領域已經開始已經逐漸被Kubernetes一統天下了。所以建議大家學習的時候,應該多考慮一下這門技術在行業裏面是不是有很多人在使用。

需要注意的是,雖然Docker Swarm在與Kubernetes的競爭中敗下陣來,但是這個跟Docker這個容器引擎沒有太大關係,它還是整個容器領域技術的基石,Kubernetes離開他什麼也不是。

總結
Docker是容器技術的核心、基礎,Docker Compose是一個基於Docker的單主機容器編排工具.而k8s是一個跨主機的集羣部署工具,功能並不像Docker Swarm和Kubernetes是基於Dcoker的跨主機的容器管理平臺那麼豐富

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章