1. 程式人生 > >深入剖析Windows專業版安裝Docker引擎和Windows家庭版Docker引擎安裝的區別

深入剖析Windows專業版安裝Docker引擎和Windows家庭版Docker引擎安裝的區別

原創宣告:作者:Arnold.zhao  部落格園地址:https://www.cnblogs.com/zh94 

首先先理解Docker

 Windows專業版上安裝Docker時,本質上是藉助於Windows平臺的hyper-v技術來建立一個Linux虛擬機器,你所輸入的所有的命令,都是藉助於虛擬機器中所部署的Docker引擎(服務端)進行執行的,所有Pull到本地的映象資料,都是儲存到對應的虛擬機器目錄裡面;

而這其實也恰恰符合Docker的作風,畢竟Docker在執行時分為Docker引擎(也就是服務端守護程序)和客戶端工具,而我們每次敲下的Docker命令,實際上是通過Docker引擎(服務端)所提供的一組REST API來進行的互動,表面上來看我們是在和本機執行各種docker操作,而實際上一切都是在通過遠端呼叫的方式來實現的;正是基於Docker的這種 C/S架構,Docker才可以在各種系統上無縫的執行,其在Windows上之所以能夠執行的原理也是這樣的;

Windows本身先虛擬化一個Linux伺服器,而Docker引擎的服務端,實際上就是安裝於本地的Windows的Linux虛擬機器上!而我們每次通過本地的PowerShell或者CMD也好,本質上也只是把所輸入的docker 命令,通過https的方式傳送到了我們本機的虛擬機器上才產生了一系列的互動;

但實際上,Docker引擎服務還是隻能執行在Linux上,之所以能在Winidows本機執行,是因為Windows本機也安裝了對應的Linux虛擬機器程式;所以!這其中Docker是在Windows專業版上執行,還是在Windows家庭版上執行,唯一的區別和變數就是,虛擬機器!這也是Windows家庭版和專業版唯一的區別所在了;

由於Windows專業版上具備Hyper-V技術(windows自身的虛擬機器技術),所以只要開啟對應的Hyper-v後,再進行一系列的安裝,便可以在Windows本地使用Docker了;而Windows家庭版是不具備Hyper-V的,所以如果要在家庭版上進行Docker的安裝,其首先也需要先部署一個Linux的虛擬機器程式才行,那麼此處則是:Oracle VM VirtualBox(一款開源的虛擬機器軟體);

 

上面所對應的闡述是很重要的哦,除了可以理解windows專業版和家庭版安裝的區別,實際上更是對Docker服務引擎進一步的熟悉,因為當你理解了Docker Server和對應的Docker Client的關係後,你會發現,實際上我們後續的各種Docker的操作,Dockerfile,docker build .  copy,等都是具備client - server 的思想在裡面的;(docker的命令只是客戶端!真正的執行則是在Docker的服務端進行的執行)! (^_−)☆

原創宣告:作者:Arnold.zhao  部落格園地址:https://www.cnblogs.com/zh94 

大膽剖析一下Windows版Docker安裝的步驟

按照對應的理解:當我們在家庭版上進行docker的安裝的時候,對應的安裝步驟:

1、先安裝 Oracle VM VritualBox

2、再進行 Docker Server引擎的部署至對應的虛擬機器中,

3、再進行本地Windows的安裝(此時的安裝是將對應的Docker命令進行本地Windows的安裝)使其CMD,PowerShell也好等客戶端,可以識別出對應的Docker命令規範,使其在客戶端執行對應的命令時,可以進行對應的識別,並將對應的命令及資訊通過https傳送到對應的Docker引擎上;

那麼我們真正的安裝時,真的是這麼麻煩嗎?當然不是啦,真正安裝時,我們只需要下載一個對應的安裝包,進行無腦next next finish 就行啦;

 

那為什麼上面還扯這麼多呢?第一:是因為明白上述的安裝步驟對後續的使用具備很大的指導意義,第二:當你把所對應的安裝包安裝完以後,你會發現存在對應的三個應用程式,當然啦!因為一個是虛擬機器,一個是客戶端!一個是GUI啦!所以,在明確上述的整體過程後,實際上對所安裝後所出現的應用就不會感覺到陌生了;

 

Windows Docker家庭版安裝包下載地址:http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/ (選擇最新的進行下載就好啦,阿里的伺服器,應該是在持續的維護當中的)

安裝過程中,你可能會出現一些問題,當然,每個人都會在安裝的時候出現一些問題,甚至於每個人的問題應該都不一樣,不過此處還是推薦一篇文章:如果是第一次安裝的話,可以參考下該文章進行解決下對應的Error:https://www.cnblogs.com/jimmyshan-study/p/11161428.html  ,我在進行對應的安裝的時候,出現的問題和當前部落格中所說明的問題還是不太一樣的,不過憑藉著基本的一些認知,最終還是順利安裝完成了;

安裝完成後

 安裝完成後,一般則是會有三個服務,分別是:Oracle VM VirtualBox,docker-quickstart-terminal,Kitematic.exe,;

docker-quickstart-terminal.就不用說了,這個就是你啟動Docker時的應用程式(不過本人此處docker-quickstart-terminal是無效的);

此處重點說明下,對應的Oracle VM VirtualBox 和 Kitematic 應用程式;

Oracle VM VirtualBox

截圖如下:

 當你正常進行了docker的安裝後,以及可以在cmd等控制檯可以正常輸出docker --version,此時說明你的Docker 服務端引擎是正常執行的狀態,如上圖所示,可以看到Oracle VM VirtualBox管理器,包含的

第一個虛擬機器例項 “default” 是不可以被刪除的,因為當前 default 的Linux虛擬機器例項,便是進行安裝包安裝時,直接部署進當前VirtualBox的預設例項,(該Linux虛擬機器內所部署的Docker引擎會隨著虛擬機器的啟動而自動啟動,所以不用擔心無法啟動Docker引擎的問題,只要能夠保證當前虛擬機器例項是啟動的即可)

 

而當我們把當前Linux虛擬機器例項進行暫停的時候,則會出現的現象是什麼?

 

 此處我們將對應的Docker虛擬機器進行暫停,此時再進行 docker 的命令,會發現存在異常提示,異常內容如下:HTTPS://IP:PORT 連結沒有響應,此處則充分說明了,當前的Docker引擎的實際使用方式,的確是 Client - Server 通過 REST API進行的互動方式!(^_−)☆;

 Kitematic (Alpha)

Kitematic是Docker的一款GUI工具,介面很優雅,用著很舒服,只要簡單的點點點,就可以實現容器的自啟,pull映象等基本操作,並且可以進行容器的相關配置等功能,介面很暖,使用起來也是很舒服的,詳情如下圖所示:

 

可參考連結:

https://www.cnblogs.com/jimmyshan-study/p/11161428.html

https://www.cnblogs.com/brock0624/p/9792203.html

 

原創宣告:作者:Arnold.zhao  部落格園地址:https://www.cnblogs.com/zh94