成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

【漲知識(shí)】十個(gè)問題迅速了解Windows Docker

云計(jì)算
微軟在5月份Build大會(huì)上的官方說法,說是這個(gè)夏天會(huì)放出Windows Server Container的測(cè)試版。也就是說,目前我們還無法看到Windows Docker的測(cè)試版本,無法直接上手測(cè)試。接下來我就大家關(guān)心的十大問題進(jìn)行介紹。

微軟在5月份Build大會(huì)上的官方說法,說是這個(gè)夏天會(huì)放出Windows Server Container的測(cè)試版。也就是說,目前我們還無法看到Windows Docker的測(cè)試版本,無法直接上手測(cè)試。接下來我就大家關(guān)心的十大問題進(jìn)行介紹:

1. Windows Docker和Hyper-V有啥區(qū)別?

Hyper-V和VMware/Xen/KVM等類似,都是硬件虛擬化,安全但笨重。

Windows Docker是OS虛擬化技術(shù),具備一定的隔離能力,性能更好、容易移植。

兩者不是互相取代的關(guān)系。

注意:Windows Docker并不是我們?cè)贒ocker 1.6時(shí)見到的Windows Docker Client,也不是Boot2docker這個(gè)Windows下的linux虛擬機(jī),而是真正的Windows版本的Docker。其實(shí)其正式名稱并不叫Docker,而是叫做Windows Server Container,還有Hyper-V Container,有2個(gè)產(chǎn)品,其中Windows Server Container類似于linux Docker,而Hyper-V Container有些類似于clear linux或者Hyper Docker。

這是因?yàn)镈ocker是商標(biāo)名稱,微軟不能直接拿來使用。

2. Windows Docker和Softgrid(APP-V)/Thinstall等有啥區(qū)別?

Docker是OS虛擬化,主要場(chǎng)景是服務(wù)端應(yīng)用,這些容器(應(yīng)用)之間通過標(biāo)準(zhǔn)的網(wǎng)絡(luò)接口進(jìn)行通信,好像虛擬機(jī)一樣。

Softgrid是應(yīng)用程序虛擬化,主要用于客戶端應(yīng)用部署。例如Office,這些應(yīng)用在同一個(gè)會(huì)話里運(yùn)行,完全就是傳統(tǒng)的應(yīng)用,彼此之 間可以進(jìn)行進(jìn)程間通信,例如Word可以O(shè)LE調(diào)用Excel的表單等等。不同的進(jìn)程,看到的文件系統(tǒng)不會(huì)隔離。適用于批量部署客戶端應(yīng)用。

3. 容器和沙盒是什么關(guān)系?

曾經(jīng)看到一句很棒的評(píng)語,必須分享給諸位:

Sandboxing is focused on just security with code isolation. Containers have some security code isolation, but this is not the only or primary purpose. One way to think about containers is as a layered/quarantined filesystem which makes it quick/easy/lightweight to run an application and also makes the application (in the container) very portable.

從下圖中我們可以看出,在Windows 10里,IE的繼任者Edge瀏覽器就采用了沙盒技術(shù)。

十個(gè)問題帶你迅速了解Windows Docker

 

十個(gè)問題帶你迅速了解Windows Docker

同樣在保護(hù)模式下運(yùn)行的Office文檔,也運(yùn)行在 沙盒里。如下圖所示。

 


而容器,則還必須要在移動(dòng)能力上有所考量,確保讓應(yīng)用,也能變成按需遞交的動(dòng)態(tài)服務(wù)。以前的硬件虛擬化,能將OS、App等變成文檔,從而把服務(wù)器資源變成按需遞交的服務(wù),現(xiàn)在Windows Docker和linux一樣,也能變成image,變成文檔,變成按需遞交的動(dòng)態(tài)服務(wù)。

4. Windows Docker和其他OS虛擬化工具之間是什么關(guān)系,例如很早就聽聞的VPS等?

從技術(shù)角度看,底層原理大同小異。看圖吧。

 

十個(gè)問題帶你迅速了解Windows Docker

Docker和其他OS虛擬化技術(shù)一樣,技術(shù)實(shí)現(xiàn)大致差不多。關(guān)鍵看誰能帶動(dòng)生態(tài)圈,能夠贏得其他廠商的支持。同時(shí)Docker的分層文件 系統(tǒng)實(shí)現(xiàn),也是其特別引人入勝的地方。這個(gè)截圖的下載地址在這里。

#p#

5. Windows Docker分層文件系統(tǒng)?

先看看Linux的實(shí)現(xiàn)。DaoCloud的大牛孫宏亮老師指出:假設(shè)我們下拉了Ubuntu:14.04映像,并通過命令docker run –it ubuntu:14.04 /bin/bash將其啟動(dòng)運(yùn)行。則Docker為其創(chuàng)建的rootfs以及容器可讀寫的文件系統(tǒng)。參考這張截圖

 

十個(gè)問題帶你迅速了解Windows Docker

從容器的視角來看,雖然只有一個(gè)邏輯的完整文件系統(tǒng),但該文件系統(tǒng)由“2層”組成,分別為讀寫文件系統(tǒng)和只讀文件系統(tǒng)。孫老師的雄文鏈接在此。

Windows Docker采用類似的分層文件系統(tǒng)。參考下圖。

 

十個(gè)問題帶你迅速了解Windows Docker

Windows Docker采用NTFS文件系統(tǒng)的重解析點(diǎn)技術(shù)(reparse point),頂層的沙盒層(sandbox layer)是可讀寫的,只允許該容器自己占用,而其他層 則是只讀的。在這張圖中,底層的基礎(chǔ)OS層和中間的應(yīng)用程序框架層都是只讀的,而頂層的沙盒層則可讀寫,在 容器的視角看來,它獨(dú)占了完整的文件系統(tǒng)。

這有點(diǎn)類似于Hyper-V的差異磁盤鏈(頂部的子盤才能讀寫,其上方的所有父盤和Base盤都是只讀的)。

Windows Docker的分層文件系統(tǒng),我是將其理解為類似符號(hào)鏈接(僅僅用來幫助理解,不要真的輕信),當(dāng)頂層的沙盒層打開文件時(shí), 相當(dāng)于打開一個(gè)符號(hào)鏈接,而嘗試修改時(shí),則COW(Copy on write)。到底采用什么底層文件系統(tǒng)技術(shù),如何實(shí)現(xiàn)多個(gè)容器并發(fā)訪問只 讀Layer文件的性能,如何cache等,目前一概不知道。sorry!

6. Windows Docker的文件系統(tǒng)隔離

十個(gè)問題帶你迅速了解Windows Docker

前段時(shí)間的熱門話題,除了股票,就要算是某在線旅游商的悲劇了,坊間甚至傳聞其為數(shù)據(jù)誤刪!!!

有客戶曾經(jīng)問到:Docker能否避免這種悲劇?其實(shí)Docker和虛擬機(jī)一樣,都替代不了容災(zāi)和備份的機(jī)制。不過Docker確實(shí)有文件系統(tǒng)隔離 的能力。我在Build大會(huì)里看到,演示者在Windows Container里執(zhí)行刪除C盤根目錄下所有文件和注冊(cè)表鍵值,盡管這個(gè)容器被毀了 ,但是根本不會(huì)影響其他容器,更不會(huì)影響主機(jī),這和linux Docker一樣。看圖片吧。

 


7. IPC隔離機(jī)制

在另一位孫老師,孫建波老師的文章里我們看到,linux Docker采用了IPC隔離機(jī)制。而Windows Docker也采用類似的隔離機(jī)制。這個(gè)機(jī)制就是所謂的會(huì)話隔離。

那么Windows里,哪些技術(shù)會(huì)用到會(huì)話隔離呢,盆盆簡(jiǎn)單總結(jié)一下:

首先是終端服務(wù),會(huì)話就是為了這個(gè)技術(shù)而發(fā)明的。

  • 快速用戶切換,這和終端服務(wù)實(shí)際上是一樣,只不過快速用戶切換只會(huì)提供最新登錄用戶的桌面(shell)。
  • 從Windows Vista開始,系統(tǒng)級(jí)進(jìn)程和服務(wù),運(yùn)行在會(huì)話0里,這就是為什么我們無法再用"mstsc /console"命令來登錄到服務(wù)器的控制臺(tái)會(huì)話。
  • 從Windows 8開始,Metro Application(平板專用的應(yīng)用),也采用會(huì)話隔離技術(shù)。

也就是說,會(huì)話是為了終端服務(wù)這種多用戶機(jī)制來準(zhǔn)備的。

用Sysinternals Suite工具包里的Winobj這個(gè)小工具,可以看到會(huì)話隔離的效果。

 

十個(gè)問題帶你迅速了解Windows Docker

在圖中可以看到,不同會(huì)話里擁有不同的對(duì)象命名空間,例如不同容器,有自己獨(dú)立的窗口站(終端服務(wù),其他場(chǎng)合只有當(dāng)前登錄用 戶才有Winsta窗口站),BaseNamedObjects目錄,包含事件、互斥信號(hào)和內(nèi)存段等對(duì)象。不同會(huì)話里的應(yīng)用,不能夠發(fā)送窗口消息(Window Message,以防止粉碎攻擊)。

Windows Docker沿用了會(huì)話隔離技術(shù),不同容器在同一個(gè)Windows主機(jī)上訪問同一個(gè)命名對(duì)象,就不會(huì)導(dǎo)致沖突。

在Build大會(huì)的演示里,啟動(dòng)了2個(gè)容器,都是從同一個(gè)Windows Server Core映像里創(chuàng)建出來。在其中一個(gè)容器里運(yùn)行tasklist命令, 顯示當(dāng)前的進(jìn)程信息,包括會(huì)話。

十個(gè)問題帶你迅速了解Windows Docker

在這個(gè)截圖中,我們可以看到該容器運(yùn)行在會(huì)話14里。

在另外一個(gè)容器里同樣運(yùn)行tasklist。可以看到該容器運(yùn)行在會(huì)話15里。

 

十個(gè)問題帶你迅速了解Windows Docker

類似于兩個(gè)容器,分別通過遠(yuǎn)程桌面訪問一樣,拿到不同的會(huì)話(session),從而獲得namespace隔離能力。

從兩個(gè)截圖里能看到什么?其中System和空閑進(jìn)程是共享的,這說明Docker是共享宿主機(jī)的內(nèi)核。當(dāng)然進(jìn)程號(hào)都一樣不代表什么,因 為所有Windows里,這兩個(gè)進(jìn)程的PID都一樣!而每個(gè)容器都有自己的svchost進(jìn)程、csrss進(jìn)程和wininit進(jìn)程等。這些進(jìn)程都是 per-session的。

#p#

8. Windows Docker能顯示圖形化界面嗎?

傳統(tǒng)的Windows應(yīng)用大多是有GUI的,所以這些應(yīng)用可能需要通過圖形化方式進(jìn)行遠(yuǎn)程操控。Windows Docker會(huì)通過容器的RDP服務(wù)連 接上來。

十個(gè)問題帶你迅速了解Windows Docker

圖中顯示通過RDP服務(wù)連接到Process Explorer這個(gè)帶GUI的系統(tǒng)進(jìn)程管理工具。由于RDP實(shí)際上就是終端服務(wù),所以Process Explorer這個(gè)圖形化進(jìn)程相當(dāng)于又運(yùn)行在一個(gè)新的會(huì)話里了!這個(gè)說起來有點(diǎn)拗口。

十個(gè)問題帶你迅速了解Windows Docker

從這張圖里我們可以看出,由于Process Explorer是在終端會(huì)話里打開的,所以我們可以在容器的任務(wù)管理器里看到有兩個(gè)會(huì)話:

會(huì)話14是Docker自己的會(huì)話,在這里嘗試啟動(dòng)Process Exploer,但是啥都看不到,這個(gè)是正常的,因?yàn)閳D形化界面無法在Docker客戶端 里顯示,Linux也采用類似VNC/RDP等辦法開專門的通道訪問。

而會(huì)話15則是通過RDP訪問的會(huì)話

9. 創(chuàng)建Windows Docker

和linux Docker,Windows Docker(記住有兩個(gè)產(chǎn)品,Windows server container和hyper-v container)完全支持linux Docker的接口和工具集。就好比電視機(jī)和投影儀,其內(nèi)部實(shí)現(xiàn)固然大相徑庭,然其和電腦的之間的接口則幾乎完全一致。

創(chuàng)建Windows 容器,和linux一樣,有Docker file,直接Docker build,生成Image。

Docker File的簡(jiǎn)單范例:

 

  1. From Windowsservercore  
  2. WORKDIR \ 
  3. COPY bin\Debug\ \Deapp  
  4. CMD \DemoApp\Demoapp.exe 

今后微軟的Windows azure云,可以直接支持Docker,不管是Windows還是linux,都可以直接用最新的visual studio把代碼簽到azure的linux或者Windows容器里。當(dāng)然也可以直接用azure的visual studio online服務(wù)。

10. Windows Docker不同版本,以及l(fā)inux之間異同

首先分享靈雀云老大左玥老師的PPT。

 

十個(gè)問題帶你迅速了解Windows Docker

可以看到session和JO,是Windows Docker的隔離技術(shù),同時(shí)JO技術(shù)類似于linux里的CGroup。可以參考chrome的相關(guān)技術(shù)。chrome就是用到了不少Windows的隔離技術(shù)。

再看一張圖片。

十個(gè)問題帶你迅速了解Windows Docker

從這里可以看出Windows Docker不同版本和linux之間的異同點(diǎn)。其中Hyper-V Container的安全能力高于Windows Server Container。

Windows Server Container和Hyper-V Container之間的差異,可以參考這個(gè)圖片。最大的差別在于,hyper-v container支持多租戶安全能力,同時(shí)支持加域。而Windows server container則不能加域,這意味著如果這個(gè)應(yīng)用需要加域的話,則無法用Windows Server Container。

 

 

十個(gè)問題帶你迅速了解Windows Docker

#p#

Q& A

問: 從前部分看講解的來看,個(gè)人覺得Windows Server Docker主要用到的是Dandbox沙盒技術(shù),對(duì)嗎?

答:應(yīng)該說和Linux Docker一樣,既有沙盒技術(shù),又有分層文件系統(tǒng)。

問: Windows也有在容器里面使用的Image了嗎?下載下來之后在liunx的Dockr里面能用起來嗎?linux的Image在Windows Server Docker里面能跑起來嗎?

答:Windows Docker和linux不兼容。不能將linux image放在Windows里運(yùn)行。因?yàn)镈ocker是共享內(nèi)核的,兩者實(shí)現(xiàn)完全不同。

問:支持GUI嗎?

答: 能支持GUI,就和Linux docker一樣。但是由于Docker Client本身不能支持GUI,所以需要用RDP Client連接。

問:Windows的Docker只是用Windows做基礎(chǔ)的,沒有像linux那樣去抹平不同發(fā)行版的差異?

答: 由于Docker實(shí)質(zhì)是OS虛擬化技術(shù),所以依賴于OS kernel,Windows和Linux互相不兼容。目前的其中一個(gè)解決辦法是,從代碼源頭解決,例如同一個(gè)代碼,既可以簽入到Windows容器,也可以嵌入到linux容器上(跑Linux版本的.NET)。

問:Win PC上是不是不用再像目前安裝Docker那樣先安裝虛擬機(jī)之類的?

答:不是,Windows Docker是原生的Windows版本的Docker機(jī)制,和linux Docker等價(jià),不是采用Boot2Docker這樣的虛擬機(jī)。

問:Windows Docker是已經(jīng)有Windows的image嗎?

答:對(duì),會(huì)有Windows sever image,例如我們熟悉的Windows server core,還會(huì)有今后的Windows nano server。

問:這些image是不是都不帶GUI?管理起來的話,微軟目前有自己的容器管理平臺(tái)了嗎?

答:可以有GUI,但是云端的環(huán)境,傾向于弱化GUI,這就是微軟為什么要推出完全沒有GUI的Windows Nano Server的原因,Nano Server,不但沒有GUI,連Console都沒有,需要通過PowerShell命令行等遠(yuǎn)程管理。另外,Windows Docker支持傳統(tǒng)的Linux Docker接口。

問:Windows Docker有哪些比較典型的應(yīng)用場(chǎng)景么?

答:Windows Docker的典型場(chǎng)景,和Linux幾乎一樣,都是實(shí)現(xiàn)應(yīng)用的動(dòng)態(tài)服務(wù)化,打斷應(yīng)用和底層硬件設(shè)備之間的緊密耦合的紐帶。

問:Windows Docker有哪些比較典型的應(yīng)用場(chǎng)景么?

答:Windows Docker的典型場(chǎng)景,和Linux幾乎一樣,都是實(shí)現(xiàn)應(yīng)用的動(dòng)態(tài)服務(wù)化,打斷應(yīng)用和底層硬件設(shè)備之間的緊密耦合的紐帶。
 

責(zé)任編輯:Ophira 來源: dockone
相關(guān)推薦

2010-03-18 13:48:14

Linux新手

2009-06-24 10:45:42

Linux

2022-11-25 14:55:43

JavaScriptweb應(yīng)用程序

2021-03-11 09:02:37

SQL數(shù)據(jù)庫數(shù)據(jù)

2009-04-30 08:58:39

微軟操作系統(tǒng)Windows 7

2010-03-09 17:30:08

Linux新手知識(shí)點(diǎn)

2022-03-22 23:18:55

SQL技術(shù)內(nèi)部概念

2024-05-17 16:18:27

2022-06-12 23:43:19

SQL數(shù)據(jù)函數(shù)

2020-07-29 15:01:50

JVMGCJDK

2013-01-14 10:28:01

微軟Windows SerOS

2023-09-06 12:01:07

2025-04-01 08:25:00

OSPF網(wǎng)絡(luò)IT

2023-12-15 10:42:05

2023-10-04 00:03:00

SQL數(shù)據(jù)庫

2021-06-03 18:30:27

Linux epoll IO

2010-06-23 13:58:44

戴爾UbuntuWindows

2013-03-21 09:34:30

2013-08-20 09:59:25

Windows 8.1微軟操作系統(tǒng)

2024-04-19 13:21:55

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 成人在线一区二区 | 成人在线精品 | 日日综合 | www.久久精品| 国产欧美一区二区三区另类精品 | 亚洲综合精品 | 免费国产一区 | 一级毛片视频 | 国产一区二区欧美 | 日韩精品无码一区二区三区 | 午夜久久久久久久久久一区二区 | 亚洲成人999 | 亚洲视频免费在线观看 | 亚洲欧洲日韩 | 日韩色在线 | 激情视频中文字幕 | 久久久中文 | 亚洲精品久久视频 | 久久久久国产精品 | 国产欧美在线播放 | 精品国产亚洲一区二区三区大结局 | 国产精品欧美一区二区三区不卡 | 91在线免费视频 | 一级黄色毛片免费 | 亚洲欧美日本国产 | 成人a在线 | 成人免费毛片在线观看 | www.日韩av.com| 国产7777| 久久看看 | 午夜视频免费在线观看 | 日本视频一区二区三区 | 国产成在线观看免费视频 | 国产福利在线 | 日韩成人| 欧美炮房 | 欧美精品一区三区 | 欧美一区二区另类 | 久久一本 | 日韩精品在线观看视频 | 在线观看国产精品一区二区 |