說一說windows原生docker及windows Server Container , Hyper Container 之間的關係(學習總結)

         前一段時間學習netcore的時候解除到了docker,感受真是不錯的技術。百度了很多教程。由於我用windows就下載安裝了一下試試。可是沒有安裝成功,才發現 須要安裝virtualbox虛擬機,與個人hyper-v衝突。後來看新聞出了windows版的docker,把virtualbox換成了hyper-v。也算小驚喜吧,心想若是能出原生的windows 版docker就行了。試着 註冊了個docker帳號 ,並申請內測(打腫臉充胖子),一個月過去了,也沒見給發郵件。linux

 

      因而又百度了些資料,發現了 Windows Containers Documentation 這一個網站,這不就是windows版的docker嗎,讀了以後才知道,原來是真正的windows 原生 docker,基於windows內核的,再也不是原來的linux虛擬機。可是目前只能運行在windows server2016 和nanoserver上,win10上我試着安裝了一下,提示「The Windows daemon requires Windows Server 2016 Technical Preview 5 build 14300 or later」。winnserver2016感受有點龐大 ,就裝了輕量版的nanoserver,費了九牛二虎之力總算能用了。(看文章特別是教程仍是得一步步慢慢的看,急不得,我當時就是用到啥看啥,安裝時遇到了多問題)。docker

 

      windows版的docker提供了兩套 容器技術,一種是server container,這種和linux上的docker差很少,幾個容器能夠共享主機內核,任務管理器裏面能夠看到對應進程,隔離級別比較低。windows


      另外一種就是 Hyper Container ,這一種就是在外邊又加了一層虛擬機,這種能提供內核級別的隔離,容器運行在本身的內核中,主機任務管理器查看不到,其實就是一個小虛擬機,這種部署起來也不麻煩,和第一種差很少,只須要加上「--isolation=hyperv」參數就行 好比「
docker run --isolation=hyperv nanoserver ping localhost -t 」。  其中naoserver是OS鏡像。下面咱們說一說 容器鏡像
     
學習

   容器鏡像分兩種,一種是os鏡像 另外一種就是普通的容器鏡像, os鏡像由 微軟提供裏面包含os核心組件。由微軟提供。如今有兩套os鏡像:網站

 

Name                 Version          Source           Summary
----                 -------          ------           -------
NanoServer           10.0.14300.1010  ContainerImag... Container OS Image of Windows Server 2016 Technical...
WindowsServerCore    10.0.14300.1000  ContainerImag... Container OS Image of Windows Server 2016 Technical...

另外一種就是普通的容器鏡像,這種鏡像基於os鏡像或者其餘鏡像。
ui

還有就是就是學習過程當中遇到的兩個問題 :spa

第一個是運行nanosever上docker時候好比docker run -it... docker attach...的時候會報錯 須要用docker的遠程管理 ,具體見https://docs.docker.com/engine/security/https/
翻譯

第二個是以hyper-v容器(--isolation=hyperv)的方式運行的時候提示not enough storage......我如今也不知道什麼緣由。code

更多內容你們仍是參考 Windows Containers Documentation 。語言最好切換到英文,由於英文文章的更新日期是四月份,漢語翻譯文章的日期是二月份,相差倆個月 ,裏面的東西不少都不同了。server

相關文章
相關標籤/搜索