Docker學習筆記(1):Docker簡介及其組件介紹

前言

  本系列文章爲《Docker進階與實戰》讀書筆記,記錄了一些書摘、一些我個人的想法以及在實踐的過程中踩過的坑。

Docker簡介

  Docker是一個開源的容器引擎,可以方便的對容器進行管理。
  它可以統一開發、測試、部署的環境和流程。

Github地址:github.com/docker/docker

  Docker結構圖:
  

這裏寫圖片描述

  
圖片來源

  Docker是基於容器技術的輕量級虛擬化,其虛擬化技術是基於內核的CGroup和Namespace技術,處理邏輯與內核深度融合,性能與物理機非常相近。

Docker的組件

  • Docker 客戶端
  • Docker daemon
  • Docker 容器
  • Docker 鏡像
  • Registry

Docker 客戶端

  Docker採用C/S架構。對於Linux而言。其在發佈時,客戶端和服務端統一在同一個二進制文件中。而對於Mac而言,Docker只提供客戶端。
  Docker 客戶端通過Docker command發起請求,在其他應用程序的代碼中也可以採用Docker 提供的RESTful API來發起請求。

Docker daemon

  Docker daemon 也可以被理解爲Docker Server。其實現的功能就是接收客戶端發來的請求,並實現請求所要求的功能,同時針對請求返回相應的結果。

Docker 容器

  容器是對鏡像的完美詮釋,容器以鏡像爲基礎,又爲鏡像提供了一個標準的和隔離的執行環境。
  Docker的容器可以安裝任意的軟件和庫文件,做任意的運行環境配置。開發及運維人員在轉移和部署應用的時候,不用關心容器裏裝了什麼軟件,也不用瞭解它們是如何配置的。管理容器的Docker引擎同樣不關心容器裏的內容,只要讓這個容器運行起來就OK了。
  Docker的誕生被稱爲“軟件界的創新和革命”,是因爲它會改變軟件界的開發、部署形態,降低成本,提高效率。

Docker 鏡像

  Docker鏡像是運行環境的靜態體現,是一個還沒有運行起來的“運行環境”。Docker 鏡像相對於傳統的虛擬化技術的鏡像更輕量,它是一個可定製的rootfs。Docker鏡像的另一個創新:它是層級的、可複用的,可以極大減少磁盤和內存的開銷。
  Docker 鏡像通常通過Dockerfile來創建。
  還可以通過使用docker commit將修改後的內容生成新的鏡像。

Registry(倉庫)

  查了一些資料,並沒有合適的翻譯,按照它實現的功能我覺得叫倉庫也是ok 的。
  Registry 是鏡像的倉庫,部署在互聯網服務端或者雲端。
  倉庫在鏡像的傳輸過程中起着重要的作用。舉個栗子,我們在公司將某軟件的運行環境製作成鏡像,上傳到雲端的Registry中,可以很方便的在家裏的筆記本上或者在客戶的生產環境中直接從Registry上pull下來這個鏡像並運行咯。
  Docker公司提供了官方的Registry叫Docker Hub。提供了大量的官方or第三方鏡像供大家選擇。
  當然也可以自己部署一個Registry實現一個私人倉庫。

小結

  在下篇文章中將會介紹Docker的安裝及一些基本的使用說明。

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