1. 程式人生 > >NO.1 Docker的簡介

NO.1 Docker的簡介

docker 容器化技術

我今年19了,人生還有多少22K?

技術分享

Docker是一個開源的應用容器化引擎,docker就像一個玻璃瓶子一樣,它使用的沙箱機制,相互之間不會有任何接口。Docker可以使開發者打包自己的應用和依賴包到一個容器中,並且這個容器是可移植的,然後發布到任何一臺生產環境的Linux機器上,當然也可以運行在Windows的主機上,但是這是不推薦的。並且Docker可以實現虛擬化。Docker使用Go語言編寫而成,在2013年正式發行,遵循Apache 2.0的協議許可。

Docker的組成:

1.Docker客戶端:

用來連接Docker守護進程,實現用戶與Docker守護進程的交互。

2.Docker守護進程:

用來處理Docker客戶端的請求,進行相關的操作。

3.Docker鏡像:

Docker的鏡像存儲在DockerHub上,用戶可以在DockerHub拉取鏡像進行使用,或者註冊DockerHub賬號上傳自己開發打包的Docker鏡像發布供人使用。Docker的鏡像就是一個只讀的文件。它是一個Docker用來啟動容器的文件模板。Docker用Docker鏡像創建Docker容器並運行。

4.Docker容器:

Docker容器用來運行開發者打包發布的應用。容器是從鏡像創建的運行實例,它可以啟動、停止、刪除等。每一個容器是相互隔離的,也就是沙箱機制,這也就保證的平臺的安全性。我們可以把Docker的容易看做是一個簡易版的Linux環境,它帶有開發者打包的應用和運行依賴庫。

5.Docker倉庫:

Docker的倉庫就是存放Docker鏡像的地方。在倉庫註冊服務器中存放著好多倉庫,倉庫分為公共倉庫和私有倉庫,最大的倉庫是DockerHub,DockerHub存放了很多鏡像供用戶下載。在倉庫中又有多個鏡像,每個鏡像會有不同的標簽,這在編譯Docker鏡像的時候可以通過-t參數指定Docker編譯出來的鏡像文件的標簽。用戶可以通過本地的局域網構建自己的Docker私有倉庫。當用戶創建自己的鏡像以後,就可以上傳到自己的私有本地倉庫中,這樣可以大大提高docker在獲取鏡像的時候速度,這在生產環境中是極為有利的。

Docker的架構:

Docker使用C/S的架構模式,Docker 的守護進程作為服務器端來接受Docker客戶端的請求,並處理這些請求。比如創建docker容器,刪除Docker的鏡像。

Docker的特點:

1.Docker基於LXC的輕量級虛擬化特點,這要比VMware或KVM之類的虛擬化軟件啟動快,占用系統資源也會比較小。

2.使用Docker可以輕松並且快速的構建標準化的運行環境。

3.Docker不是KVM等其他虛擬化產品的替代品,Docker不是全能的。

4.LXC是一個基於cgroup等Linux內核功能的,因此容器的客戶系統只可以是以Linux基礎的。

5.Docker對磁盤的管理功能比較有限。

6.Docker容器就是一個進程,當進程銷毀後,數據信息(比如日誌文件)不易采集進行數據分析。

7.Cgroup的CPU和CPUset提供的CPU功能相比KVM或VMware等的虛擬化解決方案更加難以度量。

8.隔離性相比KVM還是有些欠缺,因為Docker的容器公用一部分的運行庫.

9.Docker的網絡管理相對簡單,主要是用namespace進行隔離。

10.總而言之,Docker必然是雲計算領域勢。

本文出自 “許俊傑” 博客,請務必保留此出處http://xvjunjie.blog.51cto.com/12360960/1981836

NO.1 Docker的簡介