Docker 必知必會----初識

什麼是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 就是一個容器的管理系統,負責組裝、搬運、卸載我們的容器。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章