docker本身並不是容器,它是建立容器的工具,是應用容器引擎。
想要搞懂docker,其實看它的兩句口號就行。
第一句,是「build, ship and run」。
也就是,「搭建、傳送、執行」,三板斧。
舉個例子:
我來到一片空地,想建個房子,於是我搬石頭、砍木頭、畫圖紙,一頓操作,終於把這個房子蓋好了。
結果,我住了一段時間,想搬到另一片空地去。這時候,按以往的辦法,我只能再次搬石頭、砍木頭、畫圖紙、蓋房子。
但是,跑來乙個老巫婆,教會我一種魔法。
這種魔法,可以把我蓋好的房子複製乙份,做成「映象」,放在我的揹包裡。
等我到了另一片空地,就用這個「映象」,複製一套房子,擺在那邊,拎包入住。
怎麼樣?是不是很神奇?
所以,docker的第二句口號就是:「build once,run anywhere(搭建一次,到處能用)」。
docker技術的三大核心概念,分別是:
我剛才例子裡面,那個放在包裡的「映象」,就是docker映象。而我的揹包,就是docker倉庫。我在空地上,用魔法造好的房子,就是乙個docker容器。
說白了,這個docker映象,是乙個特殊的檔案系統。它除了提供容器執行時所需的程式、庫、資源、配置等檔案外,還包含了一些為執行時準備的一些配置引數(例如環境變數)。映象不包含任何動態資料,其內容在構建之後也不會被改變。
也就是說,每次變出房子,房子是一樣的,但生活用品之類的,都是不管的。誰住誰負責添置。
每乙個映象可以變出一種房子。那麼,我可以有多個映象呀!
也就是說,我蓋了乙個歐式別墅,生成了映象。另乙個哥們可能蓋了乙個中國四合院,也生成了映象。還有哥們,蓋了乙個非洲茅草屋,也生成了映象。。。
這麼一來,我們可以交換映象,你用我的,我用你的,豈不是很爽?
於是乎,就變成了乙個大的公共倉庫。
負責對docker映象進行管理的,是docker registry服務(類似倉庫管理員)。
不是任何人建的任何映象都是合法的。萬一有人蓋了乙個有問題的房子呢?
所以,docker registry服務對映象的管理是非常嚴格的。
最常使用的registry公開服務,是官方的docker hub,這也是預設的registry,並擁有大量的高質量的官方映象。
參考:docker官方文件:
docker和k8s(kubernetes)的區別與介紹
史上最全(全平台)docker安裝方法! - 浪子的文章 - 知乎
阿里雲天池
【入門】docker練習場-手把手超詳細操作說明
【入門】docker練習場
編寫 docker-entrypoint.sh 入口檔案
web工程部署名稱 研究
eclipse 新建web工程後,如api,在訪問web工程時,通常為 locolhost port api 訪問.當我們修改工程名稱為ipa,發現訪問路徑並未改變.即在tomcat 部署時,仍為api.並不是ipa.問題 工程名稱,在eclipse中,配置?通過發現在工程根目錄下,有.mymeta...
nodejs安裝及Vue工程部署
學習python 進入root使用者環境 執行命令 curl silent location bash 執行安裝 sudo yum install y nodejs檢視版本 node v npm v安裝vue sudo npm install vue gnpm config set sass bin...
簡述AI技術的工程部署
鑑於本人從事視覺感知方向,所以本文也只簡述了人工智慧的cv方向在工業界的推進流程 人工智慧 深度學習 神經網路 計算機視覺 工業界 自動駕駛 安防 醫療 1 不同的依賴項需要重新搭建環境 2 不同框架實現的演算法要重新移植 3 新的演算法要重新部署和驗證 4 學術界一般用pytorch tensor...