關於Docker的一些不得不知道的事

Docker是基於LXC(Linux容器虛擬技術,Linux Container)的開源的應用容器引擎,屬於輕量級的虛擬化技術。
傳統的虛擬化方式是在硬件層面實現虛擬化,需要在操作系統上虛擬化獨立的操作系統層,並在虛擬化處理的操作系統層上運行應用,不僅要管理虛擬化的操作系統還需要管理應用。而Docker虛擬化技術是操作系統層面上的虛擬化,直接複用本地主機操作系統,並在虛擬化的操作系統上運行應用,不需要額外管理操作系統,只需要關注應用本身就可以了。在Docker中有三個核心概念,鏡像(Image),倉庫(Container),容器(Container)。Docker通過在倉庫中獲取鏡像,然後實例化鏡像生成容器,整個過程就像一個大師(Docker)去博物館(倉庫)看到了一個杯子的照片(鏡像),回家後大師(Docker)根據博物館(倉庫)的照片(鏡像)仿製了很多杯子(容器),非常好理解。


Docker發展歷程

2010年,dotCloud公司在美國舊金山成立,爲Docker的出現提供了墊定了基礎。
       隨後,dotCloud公司將自己的容器技術進行了簡化和標準化,並命名爲Docker。
       2013年3月,Docker項目開源,Docker 0.1版本發佈。
       2014年6月9日,Docker 1.0版本正式發佈。
       2017 年於 Austin 舉辦的 DockerCon 上正式命名爲 Moby 項目,GitHub 上的 docker/docker 庫也被轉移到了 moby/moby。

核心概念


鏡像 Image
        鏡像可以看所是一個通過UnionFS與AUFS文件聯合實現的多層文件系統。通常來說我們常說的鏡像包含一個底層操作系統鏡像層和一到多個應用鏡像層。底層鏡像層負責提供用戶,文件系統,網絡等操作系統層級功能,應用鏡像層提供應用環境如tomcat,nginx等應用運行環境以及應用服務。每個鏡像層之間通過指針的形式進行疊加,共同構成服務運行的基礎環境。
     
倉庫
       倉庫是鏡像的存儲空間,Docker公司提供公共的鏡像倉庫(Docker稱之爲Repository),Github connect,自動構建鏡像,大大簡化了應用分發、部署、升級流程。用戶也可以創建自己的本地倉庫,存儲各種自定義的鏡像文件。
容器
       容器是鏡像的實例化,可以看作一個簡易版的操作系統環境包含root用戶權限,進程空間,用戶空間和網絡空間等)和運行在其中的應用程序,可以執行包含啓動,停止,刪除等。每個容器間是相互隔離的。容器中會運行特定的運用,包含特定應用的代碼及所需的依賴文件。

總結
       Docker是一個輕量級的虛擬化技術,缺乏對容器有效的編排、管理、調度功能。在將Docker應用於具體業務實現時,一般會採用基於容器的集羣管理平臺K8s對Docker以及Docker容器統一管理。

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