Docker 必知必會1----初識

王若伊_恩赐解脱發表於2024-05-07

什麼是Docker?
Docker 是一個開源的容器管理引擎。開發者可以透過Docker直接管理應用程式所需要的容器。它的logo如下:


為什麼需要Docker
使用Docker主要有兩個原因,
1、遮蔽不同環境的硬體差異,減輕開發人員在不同環境上,為了適配環境差異所需要做的工作。如各項系統配置、環境變數、基礎包等。
2、統一服務部署的和執行的差異,讓環境部署統一化流程化。(防盜連線:本文首發自http://www.cnblogs.com/jilodream/ )

以上是筆者在長期使用docker後的認知。如果你第一次接觸docker,或者只是聽過docker的大名,感覺上文說的很模糊,則不必關注這些細節,
使用多了自然有自己的體會。你只需要知道Docker是類似於虛擬機器的一個新興產品。他可以統一管理各類虛擬機器的安裝和執行。注意這裡是類似,docker雖然和虛擬機器一樣都是透過虛擬化技術來實現程式以及執行環境的部署和執行,但是二者在設計和實現中有著本質的區別。docker更加輕量級,佔用的系統資源更少,響應速度也更快,更便捷。這也是為什麼虛擬化技術推廣了很多年,傳統的虛擬化機一直不溫不火,而docker一經推出後,才真正帶動了這個市場。以下是我找到的一些兩者的對比資料:

接下來講講docker的一些基本概念:
映象:
docker中最基本的概念之一,可以理解為程式語言中的類。或者理解為某一個虛擬機器的安裝包。
容器:
docker中最基本的概念之一,可以理解為程式語言中的物件。也就是映象例項化後的產物。再粗糙一點,可以說是虛擬機器安裝包後實際執行起來的應用程式。
DockerFile:
一個用來描述docker 映象製作流程的宣告式的指令碼檔案。該檔案會描述映象的製作流程以及環境變數等系統引數。但是不要擔心,我們在製作映象時,並不是從0開始寫一個映象,而是基於某一個基礎映象來製作的。常用的基礎映象早已由各個的生產廠商製作好了。我們直接拿來使用即可。至於如何編寫DockerFile,會在後文中介紹。(防盜連線:本文首發自http://www.cnblogs.com/jilodream/ )
映象倉庫:
映象倉庫也就是儲存在遠端的用於儲存映象的倉庫。我們在使用映象時,需要將遠端的倉庫中的映象先下載到本地,然後本地在根據映象,生成對應的容器。
映象倉庫可以是外部開發的映象倉庫,也可以是出於安全考慮,自己搭建的倉庫服務,常用的有harbor。

大家有沒有發現其實docker的設計思路和maven非常想象。
公共元件放置在遠端倉庫(映象倉庫),本地需要就下載。下載下來各種包(映象)以後,我們直接使用例項(容器)。

在回到docker,docker 的logo如上圖,是一條鯨魚,承載著各個集裝箱。
集裝箱在英文為Container [kənˈteɪnər],也就是容器的意思。
docker 是什麼意思,[ˈdɑːkər] 碼頭工人。也就是說docker 就是一個容器的管理系統,負責組裝、搬運、解除安裝我們的容器。

相關文章