Windows Server2016安装Docker服务

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,以及Windows Server 2016,2019或Windows 10,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

Windows支持两种不同类型的容器,即 Windows Server 容器和 Hyper V 容器。 这两种类型的容器的使用方式相同,也支持相同的容器映像。 但是它们的实现机制不同,提供了不同的安全隔离级别

  1. Windows Server 容器 - 非常类似与Linux中的容器,使用通过命名空间、资源控制实现进程隔离。每个Windows Server容器都与宿主机共享同一个内核。
  2. Hyper V 容器 - 每个容器都运行在一个高度优化的Hyper V虚拟机中,所以容器拥有独立的内核。这样容器的隔离性会更好,但是启动速度会慢一些,其资源占用也会增加。

在Windows Server上部署Docker

Windows Server 2016已经支持Docker技术,官方也给出了资料:

https://docs.microsoft.com/zh-cn/virtualization/windowscontainers/quick-start/quick-start-windows-server

参考此链接大体上不会有问题,但是坑还是有一个大坑。

1、首先安装 Windows 更新

sconfig

将出现一个文本配置菜单,可以选择其中的选项 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
..

出现提示时,选择选项 A 下载所有更新。(此步骤必须进行,否则后续安装会失败或者各种报错类似于linux各种软件版本依赖)

2、打开windows PowerShell然后直接输入以下命令进行安装Docker

1.打开提升了权限的 PowerShell 会话,并从PowerShell 库安装 Docker-Microsoft PackageManagement 提供程序。

Install-Module -Name DockerMsftProvider -Repository PSGallery -Force

2.使用 PackageManagement PowerShell 模块安装最新版本的 Docker。

Install-Package -Name docker -ProviderName DockerMsftProvider

PowerShell 询问是否信任包源“DockerDefault”时,键入 A 以继续进行安装。

这里有一个坑就是,在第二步会提示"docker xx"文件不存在

警告: Cannot verify the file SHA256. Deleting the file.
警告: C:\Users\ADMINI~1\AppData\Local\Temp\2\DockerMsftProvider\Docker-19-03-5.zip does not exist

资源管理器导航到路径 C:\Users\ADMINI~1\AppData\Local\Temp\2\DockerMsftProvider 下,会发现里面有个json文件

DockerDefault_DockerSearchIndex.json,打开文件找到错误文件对应的节点

"19.03.5":  {
               "date":  "2019-11-14T19:22:53",
               "url":  "https://dockermsft.azureedge.net/dockercontainer/docker-19-03-5.zip",
               "size":  "127550095",
               "notes":  "Contains Docker EE for use with Windows Server.",
               "sha256":  "4CE8E7DF20CFA7BFC6E7733F79D5DDA4FDA7AEC3606168ADFC8EA3F50261FDAB"
                                 },

复制url地址到浏览器下载缺失的文件备用

下载完成之后,再执行命令:

Install-Package -Name docker -ProviderName DockerMsftProvider

出现提示后,将下载的文件复制到 C:\Users\Administrator\AppData\Local\Temp\2\DockerMsftProvider 目录下,回到控制台按A确认,系统解压后就会提示安装成功了。

Name                           Version          Source           Summary
----                           -------          ------           -------
Docker                         19.03.5          DockerDefault    Contains Docker EE for use with Windows Server.

最后,重启计算机,重新打开控制台 输入 docker version 确认下。至此Windows Server 2016下的Docker服务就安装完成了。

接下来的入门,可以参考此文: https://docs.microsoft.com/zh-cn/virtualization/windowscontainers/quick-start/quick-start-images

THE END

你可能感兴趣的:(DevOps)