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倉庫都是公共的。
當然,每個免費用戶都有一個名額把自己的一個鏡像設為私有,也就是禁止被分享給別人。
以上是如何理解docer?的詳細內容。更多資訊請關注PHP中文網其他相關文章!