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...