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


原創聲明:作者:Arnold.zhao  博客園地址:https://www.cnblogs.com/zh94 

 

公司使用的電腦是Windows專業版,所以配置本機的Docker時會方便許多,后續由於需要在家里的個人筆記本上安裝下Docker才發現Windows家庭版的安裝和Windows專業版的安裝竟然是有着較大的差異的,所以此處留存做一下相關的記錄;

 

首先先理解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 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM