首頁  >  文章  >  運維  >  在docker中內容無關性是指什麼

在docker中內容無關性是指什麼

青灯夜游
青灯夜游原創
2022-05-12 15:07:213492瀏覽

內容無關性是指:程式可以在容器裡運行,不區分語言,可以封裝任何有效負載及其相依性。在docker中,不管針對的具體容器內容是什麼,容器標準操作執行後都能產生同樣的效果;如容器可用同樣方式上傳、啟動,不管是PHP應用還是MySQL資料庫服務。

在docker中內容無關性是指什麼

本教學操作環境:linux7.3系統、docker20版、Dell G3電腦。

什麼是Docker?

Docker是一個開源的應用容器引擎,它是基於go語言開發,並遵從Apache2.0開源協定。使用Docker可以讓開發者封裝他們的應用程式以及依賴套件到一個可移植的容器中,然後發佈到任意的 Linux 機器上,也可以實現虛擬化。 Docker 容器完全使用沙箱機制,彼此之間不會有任何接口,這保證了容器之間的安全性。

Docker誕生於2013年初,目前有兩個版本,Community Edition(CE,社群版)和Enterprise Edition(EE,企業版)。其中Docker社群版是免費開源的,對於個人和小團隊來說是比較理想的選擇;Docker企業版則是收費的,是專門為企業和大型IT團隊提供的,用於要求比較嚴格的商業應用中。

Docker的主要功能特徵

#內容無關性(Content Agnostic)

程式可以在容器裡運行,不區分語言,可以封裝任何有效負載及其相依性。

不管針對的特定容器內容是什麼,容器標準操作執行後都能產生相同的效果。如容器可以用同樣的方式上傳、啟動,不管是PHP應用程式還是MySQL資料庫服務。

硬體無關(Hardware Agnostic)

使用作業系統基底(例如:LXC)幾乎可以在任何平台上運作-虛擬機器、裸機、OpenStack 、公共IaaS等,且無需修改

內容隔離和交互

資源、網路和內容隔離,避免依賴地獄

自動化

運行、啟動、停止、提交、搜尋等都有標準的操作,非常適合devops:CI、CD、自動擴充、混合雲

##高效率

輕量級、幾乎沒有任何偏向和啟動懲罰,可以進行快速移動和操作

#職責分離

開發人員擔心程式碼,營運人員擔心基礎設施

更多技術特性:

  • #檔案系統隔離:每個進程容器都運行在一個完全獨立的根檔案系統裡;

  • 資源隔離:系統資源,例如CPU、記憶體等,使用cgroups分配在不同的流程容器裡;

  • 網路隔離:每個進程容器攜帶自身的一個虛擬介面和IP位址運行在自己的網路空間;

  • 即寫即拷(Copy-on-write):使用即寫即拷方式建立根檔案系統,這樣部署速度極快、記憶體和硬碟空間極少;

  • 日誌:Docker將會收集並記錄每個行程容器的標準流(stdout /stderr/stdin),用於即時檢索或批次檢索;

  • 變更管理:容器檔案系統的變更可以提交到新的映像(image)中,並可重複使用以建立更多的容器。無需使用範本或手動配置;

  • 互動式shell:Docker可以分配一個虛擬終端並關聯到任何容器的標準輸入上,例如執行一次性互動shell。

Docker通常用於如下場景

web應用程式的自動化打包和發布;

自動化測試和持續整合、發布;

在服務型環境中部署和調整資料庫或其他的後台應用程式;

從頭編譯或擴展現有的OpenShift或Cloud Foundry平台來建立自己的PaaS環境。

推薦學習:《

docker影片教學

以上是在docker中內容無關性是指什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn