初识Docker-Docker架构
像和容器
Docker中有幾個重要的概念:
鏡像(Image):Docker將應用程序及其所需的依賴、函數庫、環境、配置等文件打包在一起,稱為鏡像。
容器(Container):鏡像中的應用程序運行后形成的進程就是容器,只是Docker會給容器進程做隔離,對外不可見。
一切應用最終都是代碼組成,都是硬盤中的一個個的字節形成的文件。只有運行時,才會加載到內存,形成進程。
而鏡像,就是把一個應用在硬盤上的文件、及其運行環境、部分系統函數庫文件一起打包形成的文件包。這個文件包是只讀的。
容器呢,就是將這些文件中編寫的程序、函數加載到內存中允許,形成進程,只不過要隔離起來。因此一個鏡像可以啟動多次,形成多個容器進程。
例如你下載了一個QQ,如果我們將QQ在磁盤上的運行文件及其運行的操作系統依賴打包,形成QQ鏡像。然后你可以啟動多次,雙開、甚至三開QQ,跟多個妹子聊天。
DockerHub
開源應用程序非常多,打包這些應用往往是重復的勞動。為了避免這些重復勞動,人們就會將自己打包的應用鏡像,例如Redis、MySQL鏡像放到網絡上,共享使用,就像GitHub的代碼共享一樣。
-
DockerHub:DockerHub是一個官方的Docker鏡像的托管平臺。這樣的平臺稱為Docker Registry。
-
國內也有類似于DockerHub 的公開服務,比如 網易云鏡像服務、阿里云鏡像庫等。
我們一方面可以將自己的鏡像共享到DockerHub,另一方面也可以從DockerHub拉取鏡像:
Docker架構
我們要使用Docker來操作鏡像、容器,就必須要安裝Docker。
Docker是一個CS架構的程序,由兩部分組成:
-
服務端(server):Docker守護進程,負責處理Docker指令,管理鏡像、容器等
-
客戶端(client):通過命令或RestAPI向Docker服務端發送指令??梢栽诒镜鼗蜻h程向服務端發送指令。
如圖:
?
小結
鏡像:
-
將應用程序及其依賴、環境、配置打包在一起
容器:
-
鏡像運行起來就是容器,一個鏡像可以運行多個容器
Docker結構:
-
服務端:接收命令或遠程請求,操作鏡像或容器
-
客戶端:發送命令或者請求到Docker服務端
DockerHub:
-
一個鏡像托管的服務器,類似的還有阿里云鏡像服務,統稱為DockerRegistry
總結
以上是生活随笔為你收集整理的初识Docker-Docker架构的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 初始Docker-Docker和虚拟机的
- 下一篇: 初识Docker-Docker的安装