mirror of
https://github.com/yeasy/docker_practice.git
synced 2024-12-27 15:36:17 +00:00
commit
ac2661cbd5
@ -1,6 +1,7 @@
|
|||||||
# 基本概念
|
# 基本概念
|
||||||
Docker 包括三個基本概念
|
Docker 包括三個基本概念
|
||||||
* 鏡像(Image)
|
|
||||||
|
* 映像檔(Image)
|
||||||
* 容器(Container)
|
* 容器(Container)
|
||||||
* 倉庫(Repository)
|
* 倉庫(Repository)
|
||||||
|
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
## Docker 容器
|
## Docker 容器
|
||||||
Docker 利用容器來執行應用。
|
Docker 利用容器來執行應用。
|
||||||
|
|
||||||
容器是從鏡像創建的執行實例。它可以被啟動、開始、停止、刪除。每個容器都是相互隔離的、保證安全的平台。
|
容器是從映像檔創建的執行實例。它可以被啟動、開始、停止、刪除。每個容器都是相互隔離的、保證安全的平台。
|
||||||
|
|
||||||
可以把容器看做是一個簡易版的 Linux 環境(包括root用戶權限、程序空間、用戶空間和網路空間等)和在其中執行的應用程序。
|
可以把容器看做是一個簡易版的 Linux 環境(包括root用戶權限、程序空間、用戶空間和網路空間等)和在其中執行的應用程序。
|
||||||
|
|
||||||
*註:鏡像是唯讀的,容器在啟動的時候創建一層可寫層作為最上層。
|
*註:映像檔是唯讀的,容器在啟動的時候創建一層可寫層作為最上層。
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
## Docker 鏡像
|
## Docker 映像檔
|
||||||
Docker 鏡像就是一個唯讀的模板。
|
Docker 映像檔就是一個唯讀的模板。
|
||||||
|
|
||||||
例如:一個鏡像可以包含一個完整的 ubuntu 作業系統環境,裡面僅安裝了 Apache 或用戶需要的其它應用程序。
|
例如:一個映像檔可以包含一個完整的 ubuntu 作業系統環境,裡面僅安裝了 Apache 或用戶需要的其它應用程序。
|
||||||
|
|
||||||
鏡像可以用來創建 Docker 容器。
|
映像檔可以用來創建 Docker 容器。
|
||||||
|
|
||||||
Docker 提供了一個很簡單的機制來創建鏡像或者更新現有的鏡像,用戶甚至可以直接從其他人那裡下載一個已經做好的鏡像來直接使用。
|
Docker 提供了一個很簡單的機制來創建映像檔或者更新現有的映像檔,用戶甚至可以直接從其他人那裡下載一個已經做好的映像檔來直接使用。
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
## Docker 倉庫
|
## Docker 倉庫
|
||||||
|
|
||||||
倉庫是集中存放鏡像文件的場所。有時候會把倉庫和倉庫註冊服務器(Registry)混為一談,並不嚴格區分。實際上,倉庫註冊服務器上往往存放著多個倉庫,每個倉庫中又包含了多個鏡像,每個鏡像有不同的標籤(tag)。
|
倉庫是集中存放映像檔文件的場所。有時候會把倉庫和倉庫註冊服務器(Registry)混為一談,並不嚴格區分。實際上,倉庫註冊服務器上往往存放著多個倉庫,每個倉庫中又包含了多個映像檔,每個鏡像有不同的標籤(tag)。
|
||||||
|
|
||||||
倉庫分為公開倉庫(Public)和私有倉庫(Private)兩種形式。
|
倉庫分為公開倉庫(Public)和私有倉庫(Private)兩種形式。
|
||||||
|
|
||||||
最大的公開倉庫是 [Docker Hub](https://hub.docker.com),存放了數量龐大的鏡像供用戶下載。
|
最大的公開倉庫是 [Docker Hub](https://hub.docker.com),存放了數量龐大的映像檔供用戶下載。
|
||||||
大陸的公開倉庫包括 [Docker Pool](http://www.dockerpool.com) 等,可以提供大陸用戶更穩定快速的訪問。
|
大陸的公開倉庫包括 [Docker Pool](http://www.dockerpool.com) 等,可以提供大陸用戶更穩定快速的訪問。
|
||||||
|
|
||||||
當然,用戶也可以在本地網路內創建一個私有倉庫。
|
當然,用戶也可以在本地網路內創建一個私有倉庫。
|
||||||
|
|
||||||
當用戶創建了自己的鏡像之後就可以使用 `push` 命令將它上傳到公有或者私有倉庫,這樣下次在另外一台機器上使用這個鏡像時候,只需要從倉庫上 `pull` 下來就可以了。
|
當用戶創建了自己的映像檔之後就可以使用 `push` 命令將它上傳到公有或者私有倉庫,這樣下次在另外一台機器上使用這個映像檔時候,只需要從倉庫上 `pull` 下來就可以了。
|
||||||
|
|
||||||
*註:Docker 倉庫的概念跟 [Git](http://git-scm.com) 類似,註冊服務器可以理解為 GitHub 這樣的託管服務。
|
*註:Docker 倉庫的概念跟 [Git](http://git-scm.com) 類似,註冊服務器可以理解為 GitHub 這樣的託管服務。
|
||||||
|
@ -4,23 +4,23 @@
|
|||||||
首先,Docker 容器的啟動可以在秒級實現,這相比傳統的虛擬機方式要快得多。
|
首先,Docker 容器的啟動可以在秒級實現,這相比傳統的虛擬機方式要快得多。
|
||||||
其次,Docker 對系統資源的利用率很高,一台主機上可以同時執行數千個 Docker 容器。
|
其次,Docker 對系統資源的利用率很高,一台主機上可以同時執行數千個 Docker 容器。
|
||||||
|
|
||||||
容器除了執行其中應用外,基本不消耗額外的系統資源,使得應用的性能很高,同時系統的開銷儘量小。傳統虛擬機方式執行 10 個不同的應用就要起 10 個虛擬機,而 Docker 只需要啟動 10 個隔離的應用即可。
|
容器除了執行其中應用外,基本不消耗額外的系統資源,使得應用的性能很高,同時系統資源消耗更少。傳統虛擬機方式執行 10 個不同的應用就要啟動 10 個虛擬機,而 Docker 只需要啟動 10 個隔離的應用即可。
|
||||||
|
|
||||||
具體說來,Docker 在如下幾個方面具有較大的優勢。
|
具體說來,Docker 在如下幾個方面具有較大的優勢。
|
||||||
|
|
||||||
### 更快速的交付和部署
|
### 更快速的交付和部署
|
||||||
對開發和維運(develop)人員來說,最希望的就是一次建立或配置,可以在任意地方正常執行。
|
對開發和維運(develop)人員來說,最希望的就是一次建立或配置,可以在任意地方正常執行。
|
||||||
|
|
||||||
開發者可以使用一個標準的鏡像來構建一套開發容器,開發完成之後,維運人員可以直接使用這個容器來部署代碼。
|
開發者可以使用一個標準的映像檔來構建一套開發容器,開發完成之後,維運人員可以直接使用這個容器來部署程式碼。
|
||||||
Docker 可以快速創建容器,快速迭代應用程序,並讓整個過程全程可見,使團隊中的其他成員更容易理解應用程序是如何創建和工作的。
|
Docker 可以快速創建容器,快速迭代應用程序,並讓整個過程全程可見,使團隊中的其他成員更容易理解應用程序是如何創建和工作的。
|
||||||
Docker 容器很輕很快!容器的啟動時間是秒級的,大量地節約開發、測試、部署的時間。
|
Docker 容器很輕很快!容器的啟動時間是秒級的,大量地節約開發、測試、部署的時間。
|
||||||
|
|
||||||
### 更高效的虛擬化
|
### 更高效的虛擬化
|
||||||
Docker 容器的執行不需要額外的虛擬化支持,它是內核級的虛擬化,因此可以實現更高的性能和效率。
|
Docker 容器的執行不需要額外的虛擬化支持,它是核心層級的虛擬化,因此可以實現更高的性能和效率。
|
||||||
|
|
||||||
### 更輕鬆的遷移和擴展
|
### 更輕鬆的遷移和擴展
|
||||||
|
|
||||||
Docker 容器幾乎可以在任意的平台上執行,包括物理機、虛擬機、公有雲、私有雲、個人電腦、伺服器等。
|
Docker 容器幾乎可以在任意的平台上執行,包括實體機器、虛擬機、公有雲、私有雲、個人電腦、伺服器等。
|
||||||
這種兼容性可以讓用戶把一個應用程序從一個平台直接遷移到另外一個。
|
這種兼容性可以讓用戶把一個應用程序從一個平台直接遷移到另外一個。
|
||||||
|
|
||||||
### 更簡單的管理
|
### 更簡單的管理
|
||||||
|
Loading…
Reference in New Issue
Block a user