Docker基礎概念

2022-07-16 11:00:14 字數 1653 閱讀 2543

一、什麼是docker?

docker 是乙個基於go語言實現的開源應用容器專案,讓開發者可以打包他們的應用以及依賴包到乙個可移植的容器中,然後發布到任何流行的 linux機器上,也可以實現虛擬化。docker的構想是要實現對應用元件級別的「一次封裝、到處執行」,這裡的應用元件,既可以是乙個web應用、乙個編譯環境,也可以是一套資料庫平台服務,甚至是乙個作業系統或集群。

docker的誕生在linxu容器(lxc)之上的。在lxc的基礎上,docker進一步優化了容器的使用體驗。docker提供了各種容器管理工具,讓使用者無需關注底層的操作,更加簡明地管理和使用容器。

二、為什麼使用docker?

1、更高效地利用系統資源

docker容器不需要進行硬體虛擬化,沒有虛擬機器管理應用和虛擬機器作業系統的開銷,而是直接復用本機的作業系統,對系統資源的利用更高效。無論是應用執行速度、記憶體損耗或者檔案儲存速度,都要比傳統虛擬機器技術更高 效。

2、輕鬆地應用遷移

在雲時代,開發者建立的應用必須要能夠很方便地在網路上傳播,也就是必須脫離底層物理硬體的限制。以傳統的方式進行應用遷移時,必須保證新宿主機與原來的機器環境一致,就需要搭建環境、部署專案、除錯等一系列操作,費時費力。而docker通過容器來打包應用、使應用和機器環境解耦,遷移的時候只需要在新的伺服器上啟動容器即可。

3、更快的啟動時間

傳統的虛擬機器技術啟動應用服務往往需要數分鐘,而 docker 容器應用,由於直接執行於宿主 核心,無需啟動完整的作業系統,因此可以做到秒級、甚至毫秒級的啟動時間。大大的節約 了開發、測試、部署的時間。

4、一致的執行環境

使用docker,開發人員可以使用映象來快速構建一套標準的開發環境;而測試、生產環境完全可以復用開發環境,達到一致的執行環境,減少因環境不一致產生的bug因素。docker可以快速建立、刪除容器,實現快速迭代,節約開發、測試、部署的的大量時間。

5、更輕鬆地維護和擴充套件

使用dockerfile,只需要小小的配置修改,就可以替代大量的更新操作。而且使用dockerfile使映象構建透明化,不僅僅開發團隊可以理解應用執行環境,也方便運維團隊理解應用執行所需條件,幫助更好的生產環境中部署該映象。

三、docker的三大核心概念

1、映象

docker映象是乙個類似於虛擬機器映象,可以將它理解為乙個唯讀的模板,它是建立docker容器的基礎。通過版本管理和增量的檔案系統,docker提供了一套十分簡單的機制來建立和更新現有的映象。

2、容器

docker容器是映象的乙個執行例項,映象是唯讀的,容器在映象的最上層建立了乙個可寫層。docker容器類似於乙個輕量級的沙盒,docker利用容器來執行和隔離應用。乙個docker容器中只有執行在容器中的應用(程序)和其必須依賴的執行時環境。

3、倉庫 

docker倉庫類似於**倉庫,是docker集中存放映象檔案的場所。

有時候容易把docker倉庫和註冊伺服器混淆。實際上註冊伺服器是存放dokcer倉庫的具體伺服器,乙個註冊伺服器下可以有多個倉庫,乙個倉庫下面可以有多個映象。例如,registry.hub.docker.com是註冊伺服器位址,ubuntu是倉庫名,18.04是倉庫下面具體的乙個映象。

後記:本篇內容只是筆者在學習docker時的筆記整理,內容簡短,且沒有三大核心概念其命令的介紹。見者勿怪。

Docker基礎 概念掃盲

學習使用docker之前,有必要做一下功課,對相應的概念有乙個基本 清晰的了解,這樣也有助於幫助自己更好的使用。這篇文章主要介紹以下知識 1 什麼是容器?容器從字面意思理解就是裝東西。軟體中容器技術一詞 於linux container英文單詞的直譯。container n.容器 貨櫃 貨櫃 2 什...

docker基礎 基本概念

1.映象 作業系統 核心 使用者空間 對於linux而言,核心啟動後,會掛載root檔案系統為其提供使用者空間支援,而docker映象,就相當於root檔案系統。docker映象是乙個特殊的檔案系統,除了提供容器執行時所需的程式,庫,資源,配置等檔案外,還包含了一些為執行時準備的一些配置引數 如匿名...

Docker學習(一) docker概念

docker是乙個容器引擎,是應用程式與系統之間的隔離層。通常應用程式對安裝的系統環境會有要求,如果伺服器很多,部署時系統環境的配置工作是非常繁瑣的。docker讓應用程式不必再關心主機環境,各個應用安裝在docker映象裡,docker引擎負責執行包裹了應用程式的docker映象。docker的理...