docker是開源的,docker是一個開放源代碼軟件,是一個開放平臺,用于開發應用、交付(shipping)應用、運行應用;Docker允許用戶將基礎設施中的應用單獨分割出來,形成更小的顆粒(容器),從而提高交付軟件的速度。
本文操作環境:centOS6.8系統、Docker 20.10.11版、DELL G3電腦
docker是否開源?
docker是開源的。
Docker?是一個開放源代碼軟件,是一個開放平臺,用于開發應用、交付(shipping)應用、運行應用。 Docker允許用戶將基礎設施(Infrastructure)中的應用單獨分割出來,形成更小的顆粒(容器),從而提高交付軟件的速度。
Docker容器與虛擬機類似,但二者在原理上不同。容器是將操作系統層虛擬化,虛擬機則是虛擬化硬件,因此容器更具有便攜性、高效地利用服務器。 容器更多的用于表示 軟件的一個標準化單元。由于容器的標準化,因此它可以無視基礎設施(Infrastructure)的差異,部署到任何一個地方。另外,Docker也為容器提供更強的業界的隔離兼容。
Docker?利用Linux核心中的資源分離機制,例如cgroups,以及Linux核心名字空間(namespaces),來創建獨立的容器(containers)。這可以在單一Linux實體下運作,避免啟動一個虛擬機造成的額外負擔[3]。Linux核心對名字空間的支持完全隔離了工作環境中應用程序的視野,包括行程樹、網絡、用戶ID與掛載文件系統,而核心的cgroup提供資源隔離,包括CPU、存儲器、block I/O與網絡。從0.9版本起,Dockers在使用抽象虛擬是經由libvirt的LXC與systemd – nspawn提供界面的基礎上,開始包括libcontainer庫做為以自己的方式開始直接使用由Linux核心提供的虛擬化的設施,
依據行業分析公司“451研究”:“Dockers是有能力打包應用程序及其虛擬容器,可以在任何Linux服務器上執行的依賴性工具,這有助于實現靈活性和便攜性,應用程序在任何地方都可以執行,無論是公用云端服務器、私有云端服務器、單機等。”
Docker引擎
Docker引擎(Docker Engine)是一個服務端-客戶端結構的應用,主要有這些部分:Docker守護進程、Docker Engine API(頁面存檔備份,存于互聯網檔案館)、Docker客戶端。
-
Docker守護進程(Docker daemons),也叫 dockerd ,是一個持久化的進程,用戶管理容器。守護進程會監聽Docker Engine API(頁面存檔備份,存于互聯網檔案館) 的請求。
-
Docker Engine API(頁面存檔備份,存于互聯網檔案館)是用于與Docker守護進程交互用的的API。它是一個RESTful API,因此它不僅可以被Docker客戶端調用,也可以被wget 和 curl等命令調用。
-
Docker客戶端,也叫docker,是大部分用戶與Docker交互的主要方式。用戶通過客戶端將命令發送給守護進程。命令會遵循Docker Engine API(頁面存檔備份,存于互聯網檔案館)
推薦學習:《docker教程》