Docker 包括三個基本概念:
鏡像(Image):Docker 鏡像(Image),就相當于是一個 root 文件系統(tǒng)。比如官方鏡像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系統(tǒng)的 root 文件系統(tǒng)。
容器(Container):鏡像(Image)和容器(Container)的關系,就像是面向?qū)ο蟪绦蛟O計中的類和示例一樣,鏡像是靜態(tài)的定義,容器是鏡像運行時的實體。容器可以被創(chuàng)建、啟動、停止、刪除、暫停等。
倉庫(Repository):倉庫可看成一個代碼控制中心,用來保存鏡像。
Docker 使用客戶端-服務器 (C/S) 架構模式,使用遠程API來管理和創(chuàng)建Docker容器。
Docker 容器通過 Docker 鏡像來創(chuàng)建。
容器與鏡像的關系類似于面向?qū)ο缶幊讨械膶ο笈c類。
Docker | 面向?qū)ο?/th> |
---|---|
容器 | 對象 |
鏡像 | 類 |
概念 | 說明 |
---|---|
Docker 鏡像(Images) | Docker 鏡像是用于創(chuàng)建 Docker 容器的模板,比如 Ubuntu 系統(tǒng)。 |
Docker 容器(Container) | 容器是獨立運行的一個或一組應用,是鏡像運行時的實體。 |
Docker 客戶端(Client) | Docker 客戶端通過命令行或者其他工具使用 Docker SDK (https://docs.docker.com/develop/sdk/) 與 Docker 的守護進程通信。 |
Docker 主機(Host) | 一個物理或者虛擬的機器用于執(zhí)行 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。 |