Docker基本概念學習總結

Docker本身是一個容器運行載體或稱之爲管理引擎,基於Go語言開發的。我們把應用程序和配置依賴打包好,形成一個可交付的運行環境,這個打包好的運行環境,就是image鏡像文件。只有通過這個鏡像文件才能生成Docker容器。image文件可以看作是容器的模板。Docker根據image文件生成容器實例,同一個鏡像文件,可以生成多個同時運行的容器實例。

Docker的三要素:鏡像image,容器container,倉庫repository

概念 說明

Docker 鏡像(Images)

Docker 鏡像是用於創建 Docker 容器的模板,比如 Ubuntu 系統。

Docker 容器(Container)

容器是獨立運行的一個或一組應用,是鏡像運行時的實體。

Docker 客戶端(Client)

Docker 客戶端通過命令行或者其他工具使用 Docker SDK (https://docs.docker.com/develop/sdk/) 與 Docker 的守護進程通信。

Docker 主機(Host)

一個物理或者虛擬的機器用於執行 Docker 守護進程和容器。

Docker Registry

Docker 倉庫用來保存鏡像,可以理解爲代碼控制中的代碼倉庫。

Docker Hub(https://hub.docker.com) 提供了龐大的鏡像集合供使用。

一個 Docker Registry 中可以包含多個倉庫(Repository);每個倉庫可以包含多個標籤(Tag);每個標籤對應一個鏡像。

通常,一個倉庫會包含同一個軟件不同版本的鏡像,而標籤就常用於對應該軟件的各個版本。我們可以通過 <倉庫名>:<標籤> 的格式來指定具體是這個軟件哪個版本的鏡像。如果不給出標籤,將以 latest 作爲默認標籤。

Docker Machine

Docker Machine是一個簡化Docker安裝的命令行工具,通過一個簡單的命令行即可在相應的平臺上安裝Docker,比如VirtualBox、 Digital Ocean、Microsoft Azure。

image文件生成的容器實例,本身也是一個文件,稱之爲鏡像文件。

Docker 使用客戶端-服務器 (C/S) 架構模式,使用遠程API來管理和創建Docker容器。

一個容器運行一種服務,當我們需要的時候,就可以通過docker客戶端創建一個對應的運行實例,也就是我們的容器。鏡像就是Java裏的類,而容器就是類的實例化對象,每個容器就是每個實例。

至於倉庫,就是放着很多鏡像的地方,類似maven的倉庫,我們可以把鏡像發佈到倉庫中,需要的時候,從倉庫里拉下來就可以了。

Docker利用容器獨立運行一個或者一組應用,容器是用鏡像創建的運行實例。它可以被啓動、開始、停止、刪除。每個容器都是相互隔離的、保證安全的平臺。Docker可以讓開發者打包他們的應用以及應用的runtime環境,這個包很輕量級、可移植,發佈到任何Linux機器上,也可以實現虛擬化。

容器其實就是一個精簡版的Linux環境(包括root用戶權限,進程空間、用戶空間和網絡空間等)和運行在其中的應用程序。

容器的定義和鏡像幾乎一模一樣,也是一堆層的統一視角,唯一區別在於容器的最上面那一層是可讀可寫的。

 

Docker安裝要求:Centos的安裝,支持centos7(64bit)或者 centos 6.5(64bit)或更高版本。

Docker的應用場景:

1.web應用自動化打包和發佈

2.自動化測試和持續集成、發佈

3.在服務型環境中部署和調整數據庫或者其他後臺應用

 

docker的鏡像都放到docker hub上面,也就是https://hub.docker.com,但是這個是國外的網站,訪問速度很慢。國內就有一些廠商做了鏡像加速,比較阿里雲鏡像加速、網易雲加速等,他們把dockerhub上的鏡像,克隆了一份放到自己的雲上。這樣國內,訪問下載鏡像速度就比較快了。

所以,一般要先配置下鏡像加速配置,可以使用阿里雲鏡像加速或者網易雲鏡像加速。

1.登錄阿里雲,開通容器鏡像服務https://cr.console.aliyun.com/cn-hangzhou/instances/

這裏可以看到鏡像加速器地址,已經對應的操作系統的配置說明

2.設置鏡像加速地址,就是相當於配置鏡像下載的倉庫私服地址

我的Linux發行版本是Centos7(如果是其他發行版本,配置有所不同,請自行百度),編輯/etc/docker/daemon.json

把registry-mirrors,添加到json字符串裏

3.重載配置並重啓docker

systemctl daemon-reload

systemctl restart docker

 

4.來看看我們的helloworld實例,helloworld是docker提供的一個demo

 

5.運行hello-world鏡像 :docker run hello-world

Hello from Docker!
This message shows that your installation appears to be working correctly.
輸出以上這段日誌以後,測試成功,hello-world容器就會自動停止。 

我們發現hello-world已經被下載下來了 

docker run的運行流程

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