docker有兩種意思:1、指英文單詞docker,其中文翻譯是“碼頭工人”;2、指Docker容器,是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的鏡像中,然后發布到任何流行的操作系統的機器上,也能實現虛擬化。
本文操作環境:ubuntu 18.04系統、Docker 20.10.11版、Dell G3電腦。
docker是啥意思?
docker有兩種意思:
1、英文單詞docker的中文翻譯是碼頭工人(名詞),第三人稱復數是dockers;
2、指Docker容器
Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的鏡像中,然后發布到任何流行的?linux或windows操作系統的機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口。
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服務器上執行的依賴性工具,這有助于實現靈活性和便攜性,應用程序在任何地方都可以執行,無論是公用云端服務器、私有云端服務器、單機等?!?/p>
一個完整的Docker有以下幾個部分組成:
-
DockerClient客戶端
-
Docker Daemon守護進程
-
Docker Image鏡像
-
DockerContainer容器
推薦學習:《Docker視頻教程》