docker平台:docker提供了在鬆散隔離的環境中打包和執行運用程式的功能 ->> 隔離和安全性可使使用者在給定的主機上同時執行多個容器。
容器是輕量級的,因為他們不需要虛擬機器管理程式的額外負載,而是直接在主機中的核心中執行 ->> 這意味著與使用虛擬機器相比,可以在給定的硬體組合上使用更多的容器。
docker engine是具有以下主要元件的客戶端-伺服器應用程式:
cli使用docker rest api 通過指令碼或直接cli命令來控制docker守護程式進行互動,許多其他docker應用程式都使用基礎api和cli.
守護程式建立和管理docker物件,例如影象,容器,網路,卷
快速,一致地交付使用者的應用程式
容器非常適合持續整合和持續交付(ci/co)工作流程:
響應式部署和擴充套件
docker基於容器的平台具有高度的可移植的工作負載,可在本地電腦,虛擬機器,雲平台或混合環境中執行。
docker的可移植性和輕量級特性可使使用者更輕鬆動態管理負載,並實時需求擴充套件和刪除應用程式和服務。
docker非常適用於高密度環境以及中小型部署,可利用更少的資源做更多的事。
docker使用cs架構。docker客戶端與docker守護程序進行對話,該守護程序完成了構建。執行。分發docker容器的繁重工作。
docker客戶端和docker守護程式可以在同一系統中執行,客戶端也可連線遠端守護程式。
docker客戶端和docker守護程式在unix套接字和網路介面上使用rest api進行通訊。
docker守護程式偵聽docker api並管理docker物件,守護程式也可以通訊其他守護程式以管理docker服務。
docker客戶端是docker使用者與docker進行互動的主要方式。docker 命令使用docker api,docker客戶端可以與多個守護程式進行通訊。
docker登錄檔儲存docker映像。docker hub是任何人都可以使用的登錄檔,並且預設情況下,docker已配置為在docker hub上查詢映像。
可執行自己的私人登錄檔,如果使用docker資料中心(ddc),則其中包括docker可信登錄檔(dtr)
以下內容還未吃透。。。。。
docker物件
使用docker時,您正在建立和使用映像、容器、網路、卷、外掛程式和其他物件。
乙個影象是用於建立乙個碼頭工人容器指令的唯讀模板。通常,乙個映像基於另乙個映像,並進行一些其他自定義。例如,您可以基於該ubuntu映像構建映像,但是安裝apache web伺服器和您的應用程式,以及執行該程式需要的配置資訊。
你可以自己建立影象,也可以僅使用其他人建立並在登錄檔中發布影象。dockerfile中的每個指令都會在映像中建立一層,當你更改dockerfile並重建映像時,僅重建那些已更改的層。
貨櫃容器是影象的可執行例項。你可以使用docker api或cli建立,啟動、停止、移動或刪除程式。你可以將容器鏈結到乙個或多個網路,將儲存連線到它,甚至根據當前狀態建立新映像
docker用go編寫,並利用linux核心的多個功能來交付期功能。
docker使用一種稱為namespaces提供容器的隔離工作區技術,運用容器時,docker會為該空間建立一組命名空間。這些命名空間提供了一層隔離。容器的每個方面都在單獨的命名空間中執行,並且對其的訪問僅限於該命名空間。
Docker學習筆記(一)
我先在生搬硬套的列一下,再之後的學習過程中,希望自己能寫一下一些自己的理解!docker 本來就是為了代替虛擬機器處理程式 而虛擬器對於資源的要求過高。1.隔離應用依賴 2.建立應用映象並進行複製 3.建立容易分發的即啟即用的應用 4.允許例項簡單 快速的擴充套件 5.測試應用並隨後銷毀它們 doc...
docker學習筆記(一)
docker 是乙個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到乙個可移植的容器中,然後發布到任何流行的 linux 機器上,也可以實現虛擬化。docker 客戶端 docker deamon docker 容器 docker 映象 registry 通過命令列或者其他工具使用 doc...
Docker學習筆記一
今天開始學習docker。首先說些題外話,今天在學習docker時突然想到乙個問題 it技術發展日新月異,到底該如何入門一門新技術呢?我看到網上太多的教程一上來就告訴人怎麼編譯原始碼,怎麼用軟體。現在我感覺這不是正確的學習姿勢。學習一門新技術,先要問三個問題 它是什麼?它能幹什麼 或者說它的應用場景...