日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

Docker基本原理概述

發布時間:2023/11/28 生活经验 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Docker基本原理概述 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Docker基本原理概述
Docker是一個用于開發,交付和運行應用程序的開放平臺。Docker能夠將應用程序與基礎架構分開,從而可以快速交付軟件。借助Docker,可以以與管理應用程序相同的方式來管理基礎架構。通過利用Docker的快速交付,測試和部署代碼的方法,可以顯著減少編寫代碼和在生產環境中運行代碼之間的延遲。
Docker平臺
Docker提供了在松散隔離的環境(稱為容器)中打包和運行應用程序的功能。隔離和安全性可以在給定主機上同時運行多個容器。容器是輕量級的,包含運行該應用程序所需的所有內容,因此無需依賴主機上當前安裝的內容。可以在工作時輕松共享容器,并確保與共享的每個人都能以相同的方式獲得相同的容器。
Docker提供了工具和平臺來管理容器的生命周期:
? 使用容器開發應用程序及其支持組件。
? 容器成為分發和測試應用程序的單元。
? 準備就緒后,可以將應用程序作為容器或協調服務部署到生產環境中。無論生產環境是本地數據中心,云提供商還是兩者的混合,其工作原理都相同。
可以將Docker用于什么?
快速,一致地交付應用程序
Docker通過允許開發人員使用提供應用程序和服務的本地容器在標準化環境中工作,從而簡化了開發生命周期。容器非常適合進行持續集成和持續交付(CI / CD)工作流。
考慮以下示例方案:
? 開發人員在本地編寫代碼,并使用Docker容器與同事共享工作。
? 使用Docker將其應用程序推送到測試環境中,并執行自動和手動測試。
? 當開發人員發現錯誤時,可以在開發環境中對其進行修復,然后將其重新部署到測試環境中以進行測試和驗證。
? 測試完成后,將修補程序推送給生產環境,將更新的映像推送到生產環境一樣簡單。
響應式部署和擴展
Docker的基于容器的平臺允許高度可移植的工作負載。Docker容器可以在開發人員的本地筆記本電腦上,數據中心內的物理或虛擬機上,云提供商上或混合環境中運行。
Docker的可移植性和輕量級的特性,可以輕松地動態管理工作負載,并根據業務需求指示實時擴展或拆除應用程序和服務。
在相同的硬件上運行更多的工作負載
Docker輕巧快速。將基于虛擬機管理程序的虛擬機提供了一種可行的,具有成本效益的替代方案,可以利用更多的計算能力來實現業務目標。Docker非常適合高密度環境以及中小型部署,而需要用更少的資源做更多的事情。
Docker架構
Docker使用客戶端-服務器架構。Docker客戶端與Docker守護進程進行對話,守護進程完成了構建,運行和分發Docker容器的繁重工作。Docker客戶端和守護程序可以在同一系統上運行,或者可以將Docker客戶端連接到遠程Docker守護程序。Docker客戶端和守護程序在UNIX套接字或網絡接口上使用REST API進行通信。另一個Docker客戶端是Docker Compose,可以處理由一組容器組成的應用程序。

Docker守護程序
Docker守護程序(dockerd)偵聽Docker API請求,管理Docker對象,例如圖像,容器,網絡和卷。守護程序還可以與其它守護程序通信以管理Docker服務。
Docker客戶端
Docker客戶端(docker)是許多Docker用戶與Docker交互的主要方式。當使用諸如docker run之類的命令時,客戶端會將這些命令發送到dockerd,以執行這些命令。該docker命令使用Docker API。Docker客戶端可以與多個守護程序通信。
Docker注冊表
Docker注冊表存儲Docker映像。Docker Hub是任何人都可以使用的公共注冊表,并且默認情況下,Docker已配置為在Docker Hub上查找映像。甚至可以運行自己的私人注冊表。
使用docker pull或docker run命令時,將從配置的注冊表中提取所需的圖像。使用該docker push命令時,會將映像推送到已配置的注冊表。
Docker對象
使用Docker時,正在創建和使用映像,容器,網絡,卷,插件和其它對象。本節是其中一些對象的簡要概述。
圖片
一個圖像是用于創建一個docker容器指令的只讀模板。通常,一個映像基于另一個映像,并進行一些其它自定義。例如,可以基于該ubuntu 映像構建映像,但安裝Apache Web服務器和應用程序,以及運行該應用程序所需的配置詳細信息。
可以創建自己的圖像,也可以僅使用其它人創建并在注冊表中發布的圖像。為了構建自己的映像,可以使用簡單的語法創建一個Dockerfile,以定義創建映像和運行映像所需的步驟。Dockerfile中的每條指令都會在映像中創建一個層。當更改Dockerfile并重建映像時,僅重建那些已更改的層。與其它虛擬化技術相比,這是使映像如此輕巧,小型和快速的部分原因。
貨柜
容器是圖像的可運行實例。可以使用Docker API或CLI創建,啟動,停止,移動或刪除容器。可以將容器連接到一個或多個網絡,將存儲連接到它,甚至根據其當前狀態創建一個新映像。
默認情況下,容器與其它容器及其主機之間的隔離度相對較高。可以控制容器的網絡,存儲或其它底層子系統與其它容器或與主機的隔離程度。
容器由其映像以及在創建或啟動時為其提供的任何配置選項定義。刪除容器后,未存儲在持久性存儲中的狀態更改將消失。
示例docker run命令
以下命令運行一個ubuntu容器,以交互方式附加到本地命令行會話,然后運行/bin/bash。
$ docker run -i -t ubuntu /bin/bash
當運行此命令時,會發生以下情況(假設使用的是默認注冊表配置):

  1. 如果在ubuntu本地沒有該映像,則Docker會將其從已配置的注冊表中拉出,就像docker pull ubuntu手動運行一樣。
  2. Docker會創建一個新容器,就像docker container create 手動運行命令一樣。
  3. Docker將一個讀寫文件系統分配給容器,作為其最后一層。允許運行中的容器在其本地文件系統中創建或修改文件和目錄。
  4. Docker創建了一個網絡接口,將容器連接到默認網絡,因為沒有指定任何網絡選項。這包括為容器分配IP地址。默認情況下,容器可以使用主機的網絡連接連接到外部網絡。
  5. Docker啟動容器并執行/bin/bash。因為容器是交互式運行的,并且已附加到終端(由于-i和-t標志),可以在輸出記錄到終端時使用鍵盤提供輸入。
  6. 當鍵入exit以終止/bin/bash命令時,容器將停止但不會被刪除。可以重新啟動或刪除它。
    底層技術
    Docker用Go編程語言編寫,并利用Linux內核的多種功能來交付其功能。Docker使用一種稱為的技術namespaces來提供稱為容器的隔離工作區。運行容器時,Docker會為該容器創建一組名稱空間。
    這些名稱空間提供了一層隔離。容器的每個方面都在單獨的名稱空間中運行,并且對其的訪問僅限于該名稱空間。

總結

以上是生活随笔為你收集整理的Docker基本原理概述的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。