您好,登錄后才能下訂單哦!
這篇文章主要介紹“用Docker能做什么”,在日常操作中,相信很多人在用Docker能做什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”用Docker能做什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
1.0 容器的簡介
容器與管理程序虛擬化的不同點:
管理程序虛擬化通過中間層將一臺或多臺獨立的機器虛擬運行于物理硬件之上;
容器則是直接運行在操作系統內核之上的用戶空間。因此,容器虛擬化也被稱為“操作系統級虛擬化”。
由于客居于操作系統,容器只能運行與底層宿主機相同或相似的操作系統。
和傳統的虛擬化以及半虛擬化相比,容器運行不需要模擬層和管理層,而是使用操作系統的系統調用接口,降低了開銷。
當然容器也有一些局限性,比如它被一些人認為是不安全的、它的技術比較復雜、不易安裝和自動化。
1.1 Docker簡介
Docker是一個能夠把開發的應用程序自動部署到容器的開源引擎。它的目標是提供一個輕量、快速的環境,能夠運行開發者的程序,并方便高效的將程序從開發者的筆記本部署到測試環境,然后再部署到生產環境。
Docker希望為程序開發提供以下功能:
提供一個簡單、輕量的建模方式。用幾分鐘可以把自己的程序Docker化,并用“寫時復制”模型,使修改應用程序也非常迅速。創建容器來運行應用程序也很快速,并且一臺宿主機可以運行很多容器,使用戶可以盡可能充分的利用系統資源。
職責的邏輯分離。使用Docker,開發人員只需要關系容器中運行的應用程序,而運維人員只需要關系如何管理容器。同時加強開發人員寫代碼的開發環境與應用程序要部署的生產環境的一致性。
快速、高效的開發生命周期。Docker的目的之一就是縮短代碼從開發、測試到部署、上線運行的周期,讓應用程序具有可移植性、易于構建,并易于協作。
鼓勵使用面向服務的架構。Docker推薦單個容器只運行一個應用程序或進程,這樣就能形成一個分布式的應用程序模型。在這種模型下,應用程序或服務都可以表示為一系列內部互聯的容器,從而使分布式部署應用程序,擴展或調試應用程序都變得簡單。
1.2 Docker組件
Docker客戶端和服務器。Docker客戶端只需向Docker服務器或守護進程發出請求,服務器或守護進程完成所有工作并返回結果。Docker提供了一個命令行工具docker以及一套RESTful API。可以在同一臺宿主機上運行守護進程和客戶端,也可以從本地的Docker客戶端連接到運行在另一臺宿主機上的遠程Docker守護進程。
Docker鏡像。鏡像是構建Docker世紀的基石。用戶基于鏡像來運行自己的容器。鏡像也是Docker生命周期中的“構建”部分。鏡像是基于Union文件系統的一種層式的結構,由一系列指令一步步構建出來。也可以把鏡像當做容器的“源代碼”。鏡像體積小,便攜,易于分享、存儲和更新。可以使用已有的鏡像,也可以構建自己的鏡像。
Registry。Docker用Registry來保存用戶構建的鏡像。Registry分為公共和私有兩種。Docker公司運營的公共Registry叫做Docker Hub。用戶可以在其上注冊賬號,分享并保存自己的鏡像。Docker Hub上的鏡像包括Nginx Web Server的鏡像、MySQL數據庫的鏡像等等。也可以假設自己的私有Registry。
容器。Docker可以幫助構建和部署容器,只要把自己的應用程序或者服務打包放進容器即可。容器是基于鏡像啟動起來的,容器中可以運行一個或多個進程。可以認為,鏡像是Docker生命周期中的構建或者打包階段,而容器使啟動或執行階段。總結起來,Docker容器就是:一個鏡像格式,一系列標準的操作和一個執行環境。
1.3 我們能用Docker做什么
加速本地開發和構建流程,使其更加高效、更加輕量化。本地開發人員可以構建、運行并分享Docker容器。容器可以在開發環境中構建,然后輕松的提交到測試環境中,并最終進入生產環境;
能夠讓獨立服務或者應用程序在不同的環境中得到相同的運行結果。這一點在面向服務的架構和重度依賴微型服務的部署中尤其實用;
用Docker創建隔離的環境來進行測試。例如,用Jenkins CI這樣的持續集成工具啟動一個用于測試的容器;
Docker可以讓開發者先在本機上構建一個復雜的程序或者架構來進行測試,而不是開始就在生產環境部署、測試;
構建一個多用戶的平臺即服務基礎設施;
為開發、測試提供一個輕量級的獨立沙盒環境,或者將獨立的沙盒環境用于技術教學;
提供軟件即服務應用程序,如Memcached即服務;
高性能、超大規模的宿主機部署。
到此,關于“用Docker能做什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。