天天看點

#yyds幹貨盤點#Docker是什麼呀!

前言

Docker 可以讓開發者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,然後釋出到任何流行的 Linux 機器上,也可以實作虛拟化。哈哈哈(H鍵都累了)寫的好像太官方了!每天要努力學習哦。Docker容器是完全使用沙箱機制,互相之間不會有任何接口(類似 iPhone 的 app),更重要的是容器性能開銷極低。所有大家要用起來呀!

正文

Docker 是一個用于開發,傳遞和運作應用程式的開放平台。Docker 使您能夠将應用程式與基礎架構分開,進而可以快速傳遞軟體。借助 Docker,您可以與管理應用程式相同的方式來管理基礎架構。通過利用 Docker 的方法來快速傳遞,測試和部署代碼,您可以大大減少編寫代碼和在生産環境中運作代碼之間的延遲。

Docker 使用用戶端-伺服器 (C/S) 架構模式,使用遠端API來管理和建立Docker容器。

Docker 容器通過 Docker 鏡像來建立。

容器與鏡像的關系類似于面向對象程式設計中的對象與類。

Docker 面向對象
容器 對象
鏡像
Docker的基本概念
  • 鏡像(Image):Docker 鏡像(Image),就相當于是一個 root 檔案系統。比如官方鏡像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系統的 root 檔案系統。
  • 容器(Container):鏡像(Image)和容器(Container)的關系,就像是面向對象程式設計中的類和執行個體一樣,鏡像是靜态的定義,容器是鏡像運作時的實體。容器可以被建立、啟動、停止、删除、暫停等。
  • 倉庫(Repository):倉庫可看成一個代碼控制中心,用來儲存鏡像。
Docker的應用場景
  • Web 應用的自動化打包和釋出。
  • 自動化測試和持續內建、釋出。
  • 在服務型環境中部署和調整資料庫或其他的背景應用。
  • 從頭編譯或者擴充現有的 OpenShift 或 Cloud Foundry 平台來搭建自己的 PaaS 環境。