Docker基本概念

2021-08-19 15:18:30 字數 1697 閱讀 2030

docker是開發人員和系統管理員構建,發布和執行應用程式的平台。docker允許您快速使用元件組裝應用程式,並消除運送**時可能產生的改變。docker允許您盡快測試並將**部署到生產環境中。

docker可以簡化軟體交付,是通過簡化構建包含應用程式整個環境或應用程式作業系統的映象,並共享這個映象。

應用程式作業系統表示什麼?

您的應用程式通常需要作業系統,伺服器,jdk和資料庫的特定版本,可能需要調整配置檔案以及類似的多個其他依賴項。應用程式可能需要繫結到特定埠和一定量的記憶體。執行應用程式所需的元件和配置一起被稱為應用程式作業系統。

docker有三個主要元件:

docker輕量級的原因之一就是由於這些layers。當您更改docker映象時(例如,將應用程式更新為新版本),會建立乙個新層。因此,不會像使用虛擬機器一樣替換整個映象或完全重建映象,而是只新增或更新該layer。現在,您不需要分發全新的映象,只需更新即可,從而更快速,更簡單地分發docker映象。

每個映象都會基於乙個基本的映象,例如ubuntu(乙個基本的ubuntu映像),或fedora(乙個基本的fedora映像)。您也可以使用自己的映象作為新映象的基礎,例如,如果您有基本的apache映象,則可以將其用作所有web應用程式映象的基礎。

然後使用一組簡單的,可描述的步驟(我們稱之為指令)從這些基礎映象構建docker映象。每條指令都會在映象中建立乙個新圖層。指令包括如下操作:

這些指令儲存在乙個名為dockerfile的檔案中。當您請求構建​​映象,執行指令並返回最終映象時,docker會讀取此dockerfile。

容器由作業系統,使用者新增的檔案和元資料組成。正如我們所看到的,每個容器都是從映象構建的。該映象告訴docker容器包含什麼,容器啟動時要執行的程序以及各種其他配置資料。docker映象是唯讀的。當docker從乙個映象執行容器時,它會在映象頂部新增乙個可讀寫層(使用前面看到的union檔案系統),然後您的應用程式可以在這個可讀寫層中執行。

使用以下命令檢查您的客戶端是否正在工作:

docker -v
它輸出如下內容:

docker version 17.09.0-ce-rc3, build 2357fb2
客戶端和伺服器的確切版本可以使用docker version命令檢視。輸出內容為:

client:

version: 17.09.0-ce-rc3

api version: 1.32

go version: go1.8.3

git commit: 2357fb2

built: thu sep 21 02:31:18 2017

os/arch: darwin/amd64

server:

version: 17.09.0-ce-rc3

api version: 1.32 (minimum version 1.12)

go version: go1.8.3

git commit: 2357fb2

built: thu sep 21 02:36:52 2017

os/arch: linux/amd64

experimental: true

Docker基本概念

docker 包括三個基本概念 理解了這三個概念,就理解了 docker 的整個生命週期。docker 映象就是乙個唯讀的模板。例如 乙個映象可以包含乙個完整的 ubuntu 作業系統環境,裡面僅安裝了 apache 或使用者需要的其它應用程式。映象可以用來建立 docker 容器。docker 利...

docker基本概念

集群 乙個集群指容器執行所需要的雲資源組合,關聯了若干伺服器節點 負載均衡 專有網路等雲資源。節點 一台伺服器 可以是虛擬機器例項或者物理伺服器 已經安裝了 docker engine,可以用於部署和管理容器 容器服務的 agent 程式會安裝到節點上並註冊到乙個集群上。集群中的節點數量可以伸縮。容...

Docker基本概念

一 映象 image 二 容器 container 三 註冊服務 registry 和倉庫 repository 倉庫是集中存放docker映象檔案的場所,倉庫包含多個映象 image 每個映象還有不同的標籤 tag 有時候會把倉庫和註冊服務混為一談,並不嚴格區分。四 舉例說明sudo docker...