如何理解docer?

如何理解docer?

docker,可以說是一個終端命令行的虛擬機,但更準確的說法,其實應該是一個虛擬環境。

(推薦教程:docker教程

比如,你想要在PC上無縫使用linux么?那么虛擬機并不是你唯一的出路,你還有docker!我更愿意稱Docker為一個容器,當然這只是Docker的一個狹義解釋,Docker不止是一個容器。

Docker包含3個重要概念,分別是:

一、鏡像(Image)

鏡像是靜態的、可以被用戶互相分享的文件。

我們玩過雙系統和虛擬機的人都知道,首先你需要一個.iso鏡像,才能安裝系統。Docker中的鏡像也是這個東西,鏡像是靜態的,你不能對他操作,只能pull別人的鏡像或者push自己的鏡像。

二、容器(Container)

鏡像是靜態不可操作的,只能被分享和下載,那什么是能被操作的呢?

就是容器。容器可以理解為鏡像的動態狀態,也就是我們虛擬機中系統裝好后的狀態。其實這么說是不對的,容器最符合的描述應該是Linux的iso文件的Live CD模式。

比如我們玩雙系統時都進入過Live CD模式,不安裝系統而直接進入系統,Docker的容器就是這個概念,只不過更加輕量更加迅速便捷。但是Live CD的壞處就是你關機后作出的修改安裝的軟件全部gg,容器也是一樣,一旦被直接推出,之前安裝的gcc、vim等就會全部gg掉。

如果要保存修改,就需要將當前容器封裝成一個新的鏡像,這樣下次啟動這個新的鏡像后之前作出的修改還都在。

三、倉庫(Repository)

不知道各位對于git熟悉不熟悉,Docker中的倉庫很像git的代碼倉庫,你可以pull自己之前push到自己倉庫的鏡像到本地,也可以pull別人push到公共倉庫的鏡像到自己本地,說白了就像百度云盤,你可以上傳(push)自己做好環境的Docker上去,也可以下載(pull)自己云端的鏡像到本地。

同時,我們知道百度云最大的特點就是分享,類比Docker,如果你得到百度云分享鏈接(別人的鏡像名字、標簽和別人的用戶名),你還可以下載(pull)別人分享的鏡像到自己的本地,別人也可以下載(pull)你的鏡像,因為Docker倉庫都是公共的。

當然,每個免費用戶有一個名額把自己的一個鏡像設為私有,也就是禁止被分享給別人。

? 版權聲明
THE END
喜歡就支持一下吧
點贊6 分享