Docker簡介

關於docker我們入門瞭解下這麼幾個知識點就OK了

比如:

 docker的用處,場景
 Linux環境上安裝Docker
 使用Docker安裝Java8
 使用Docker安裝Nginx
 基於Docker部署SpringBoot項目

 

Docker官方網址: https://docs.docker.com/  英文地址

Docker中文網址: http://www.docker.org.cn/ 中文地址

 

Docker是基於Go語言實現的雲開源項目,誕生於2013年初,最初發起者是dotClouw公司。Docker 自開源後受到廣泛的關注和討論,目前已有多個相關項目,逐斷形成了圍Docker的生態體系。dotCloud 公司後來也改名爲Docker Ine。

Docker是一個開源的容器引擎,它有助於更快地交付應用。 Docker可將應用程序和基礎設施層隔離,並且能將基礎設施當作程序一樣進行管理。使用 Docker可更快地打包、測試以及部署應用程序,並可以縮短從編寫到部署運行代碼的週期。

 

Docker優點

簡化程序

Docker 讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然後發佈到任何流行的 Linux 機器上,便可以實現虛擬化。Docker改變了虛擬化的方式,使開發者可以直接將自己的成果放入Docker中進行管理。方便快捷已經是 Docker的最大優勢,過去需要用數天乃至數週的 任務,在Docker容器的處理下,只需要數秒就能完成。

避免選擇恐懼症

如果你有選擇恐懼症,還是資深患者。Docker 幫你 打包你的糾結!比如 Docker 鏡像;Docker 鏡像中包含了運行環境和配置,所以 Docker 可以簡化部署多種應用實例工作。比如 Web 應用、後臺應用、數據庫應用、大數據應用比如 Hadoop 集羣、消息隊列等等都可以打包成一個鏡像部署。

節省開支

一方面,雲計算時代到來,使開發者不必爲了追求效果而配置高額的硬件,Docker 改變了高性能必然高價格的思維定勢。Docker 與雲的結合,讓雲空間得到更充分的利用。不僅解決了硬件管理的問題,也改變了虛擬化的方式。

 

Docker與虛擬機比較 

Docker作爲一種輕量級的虛擬化方式,Docker在運行應用上跟傳統的虛擬機方式相比具有顯著優勢:
Docker容器很快,啓動和停止可以在秒級實現,這相比傳統的虛擬機方式要快得多。
Docker容器對系統資源需求很少,一臺主機上可以同時運行數千個Docker容器。
Docker通過類似Git的操作來方便用戶獲取、分發和更新應用鏡像,指令簡明,學習成本較低。
Docker通過Dockerfile配置文件來支持靈活的自動化創建和部署機制,提高工作效率。

 

 

 

 

Docker架構

Docker daemon是一個運行在宿主機( DOCKER-HOST)的後臺進程。可通過 Docker客戶端與之通信。
Images: 一個只讀的鏡像模板。可以自己創建一個鏡像也可以從網站上下載鏡像供自己使用。鏡像包含了一個RFS.一個鏡像可以創建很多容器。
Container:由docker client通過鏡像創建的實例,用戶在容器中運行應用,一旦創建後就可以看做是一個簡單的RFS,每個應用運行在隔離的容器中,享用獨自的權限,用戶,網絡。確保安全與互相干擾兩者在創建後,都是一堆layer的統一視角,唯一的卻別是鏡像最上面那一層是隻讀的,不可以修改,但是容器最上面一層是rw的,提供給用戶操作
repository:倉庫,這個東西沒有單獨介紹不是因爲它不重要,而是因爲之前做個比較多的Android源碼編譯,所以這裏就沒有仔細往下看,大概就是一個鏡像庫,最大的是docker hub,類似於google 的aosp,當然也可以本地搭,比如mig事業羣就有自己的repo。

 

 

 

核心:

客戶端→Docker_Host(宿主機)→倉庫

概念:

容器→鏡像→倉庫

  

PC電腦端如何查找軟件安,360軟件管家

 Docker 理解爲應用市場管家

核心簡化運維安裝軟件的發雜環境

  

 

Docker daemon( Docker守護進程)

Docker daemon是一個運行在宿主機( DOCKER-HOST)的後臺進程。可通過 Docker客戶端與之通信。

 

Client( Docker客戶端)

Docker客戶端是 Docker的用戶界面,它可以接受用戶命令和配置標識,並與 Docker daemon通信。圖中, docker build等都是 Docker的相關命令。

 

Images( Docker鏡像)

Docker鏡像是一個只讀模板,它包含創建 Docker容器的說明。它和系統安裝光盤有點像,使用系統安裝光盤可以安裝系統,同理,使用Docker鏡像可以運行 Docker鏡像中的程序。

 

Container(容器)

容器是鏡像的可運行實例。鏡像和容器的關係有點類似於面向對象中,類和對象的關係。可通過 Docker API或者 CLI命令來啓停、移動、刪除容器。

 

Registry

Docker Registry是一個集中存儲與分發鏡像的服務。構建完 Docker鏡像後,就可在當前宿主機上運行。但如果想要在其他機器上運行這個鏡像,就需要手動複製。此時可藉助 Docker Registry來避免鏡像的手動複製。

 

一個 Docker Registry可包含多個 Docker倉庫,每個倉庫可包含多個鏡像標籤,每個標籤對應一個 Docker鏡像。這跟 Maven的倉庫有點類似,如果把 Docker Registry比作 Maven倉庫的話,那麼 Docker倉庫就可理解爲某jar包的路徑,而鏡像標籤則可理解爲jar包的版本號。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章