Windows Server 2016(云服務(wù)器) 安裝Docker(Windows Container)

前言:

昨天新買了一臺windows server 2016的云服務(wù)器,需要安裝docker,發(fā)現(xiàn)使用Docker For Windows安裝的方式行不通,原來有使用這種方式安裝docker的同學(xué)應(yīng)該知道,它需要使用系統(tǒng)中的Hyper-V功能去做虛擬化,但是在云服務(wù)器中是無法開啟Hyper-V的,因?yàn)樵品?wù)器已經(jīng)做了一次虛擬化,所以使用另一種方式來安裝docker,當(dāng)然還可以使用docker toolbox安裝,但是既然windows server 2016系統(tǒng)支持docker,還是根據(jù)官方指南走一遍。

缺點(diǎn):Windows Container 只能運(yùn)行 Windows應(yīng)用程序(至少現(xiàn)在是這樣)

當(dāng)前Docker Hub上面的大量鏡像無法在Windows Container 中使用,比如Consul和Mysql等常見鏡像,微軟已經(jīng)開始在Docker Hub上提供Windows容器鏡像,你可以使用同樣的docker pull命令或者去這些鏡像。
比如:
microsoft/windowservercore 鏡像是一個完整的服務(wù)器鏡像(大概3G大?。?,在這個鏡像中你可以使用標(biāo)準(zhǔn)的msi安裝包,通過Dockerfile來構(gòu)建你自己鏡像,可以安裝和運(yùn)行完整的.net framework和其他的Windows應(yīng)用程序。
microsoft/nanoserver 鏡像則是一個精簡版的操作系統(tǒng)鏡像(大概300M),不提供msi支持,只能運(yùn)行.net core應(yīng)用,同時需要使用powershell進(jìn)行管理。
所以這種方式運(yùn)行的容器服務(wù)只適合跑Microsoft平臺下的東西。

安裝:

Windows Server 2016已經(jīng)支持Docker技術(shù),參考官方博客進(jìn)行安裝,但是會有幾處坑點(diǎn)需要注意,所以這里記錄一下。

官方博客地址

第一步:安裝PackageManagement

打開PowerShell執(zhí)行命令:

首先,從 PowerShell 庫安裝 Docker-Microsoft PackageManagement 提供程序,根據(jù)提示安裝。

Install-Module -Name DockerMsftProvider -Repository PSGallery -Force

接下來,使用 PackageManagement PowerShell 模塊安裝最新版本的 Docker。

Install-Package -Name docker -ProviderName DockerMsftProvider

第二步:手動下載文件

注意:

這時候會提示你,找不到路徑“C:\Users\ADMINI~1\AppData\Local\Temp\DockerMsftProvider\Docker-1-12-2-cs2-ws-beta.zip”,這個時候需要你手動下載。

image

去報錯提示的路徑地址查看,有一個json文件,打開后里面有一個版本對象,里面可能有很多個版本信息,找到你本次需要安裝的版本,復(fù)制出里面的下載鏈接,手動下載。

image

文件內(nèi)容如下:

image

第三步:重新安裝

再重新執(zhí)行下面的命令

Install-Package -Name docker -ProviderName DockerMsftProvider

然后在命令執(zhí)行的過程中(先執(zhí)行,再復(fù)制,如果先復(fù)制進(jìn)去,文件夾內(nèi)容會被清空),打開這個之前提示缺少zip文件的目錄“C:\Users\ADMINI~1\AppData\Local\Temp\DockerMsftProvider”,把你之前手動下載的zip文件復(fù)制進(jìn)去

第四步:重啟計(jì)算機(jī)

PowerShell 詢問是否信任包源“DockerDefault”時,鍵入 A 以繼續(xù)進(jìn)行安裝。 完成安裝后,重啟計(jì)算機(jī)。

Restart-Computer -Force

第五步:安裝系統(tǒng)更新

執(zhí)行命令

sconfig

將出現(xiàn)一個文本配置菜單,可以選擇其中的選項(xiàng) 6 下載并安裝更新:

===============================================================================
                         Server Configuration
===============================================================================

1) Domain/Workgroup:                    Workgroup:  WORKGROUP
2) Computer Name:                       WIN-HEFDK4V68M5
3) Add Local Administrator
4) Configure Remote Management          Enabled

5) Windows Update Settings:             DownloadOnly
6) Download and Install Updates
7) Remote Desktop:                      Disabled
...

出現(xiàn)提示時,選擇選項(xiàng) A 下載所有更新,這一步的時間可能會比較久,耐心等待。

第六步:驗(yàn)證安裝

查看版本信息

docker version
image

接下來就可以愉快的跑docker了

Windows Server 2019

docker run microsoft/dotnet-samples:dotnetapp-nanoserver-1809

Windows Server 2016

docker run microsoft/dotnet-samples:dotnetapp-nanoserver-sac2016

容器啟動后,請打印 hello world 消息,然后退出。

Hello from .NET Core!
    __________________
                      \
                       \
                          ....
                          ....'
                           ....
                        ..........
                    .............'..'..
                 ................'..'.....
               .......'..........'..'..'....
              ........'..........'..'..'.....
             .'....'..'..........'..'.......'.
             .'..................'...   ......
             .  ......'.........         .....
             .                           ......
            ..    .            ..        ......
           ....       .                 .......
           ......  .......          ............
            ................  ......................
            ........................'................
           ......................'..'......    .......
        .........................'..'.....       .......
     ........    ..'.............'..'....      ..........
   ..'..'...      ...............'.......      ..........
  ...'......     ...... ..........  ......         .......
 ...........   .......              ........        ......
.......        '...'.'.              '.'.'.'         ....
.......       .....'..               ..'.....
   ..       ..........               ..'........
          ............               ..............
         .............               '..............
        ...........'..              .'.'............
       ...............              .'.'.............
      .............'..               ..'..'...........
      ...............                 .'..............
       .........                        ..............
        .....


**Environment**
Platform: .NET Core
OS: Microsoft Windows 10.0.17763
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容