本文通过一系列的步骤,来学习怎么在windows server 2016安装docker。

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

Windows Server 容器 - 非常类似与Linux中的容器,使用通过命名空间、资源控制实现进程隔离。每个Windows Server容器都与宿主机共享同一个内核。
Hyper V 容器 - 每个容器都运行在一个高度优化的Hyper V虚拟机中,所以容器拥有独立的内核。这样容器的隔离性会更好,但是启动速度会慢一些,其资源占用也会增加。
如果你手边没有Windows Server 2016的环境,我们也可以在Windows 10 操作系统上,使用Docker for Windows来开始实验。

下面引用Docker 中文指南中的几个提示:

提示1:Docker 已经在windows7.1和windows 8上通过测试,当然它也可以在低版本的windows上使用。但是你的处理器必须支持硬件虚拟化。

提示2:Docker 引擎使用的是Linux内核特性,所以我们需要在 Windows 上使用一个轻量级的虚拟机 (VM) 来运行 Docker。我们使用 Windows的Docker客户端来控制 Docker 虚拟化引擎的构建、运行和管理 。

提示3:为了简化这个过程,我们设计了一个叫 Boot2Docker 的应用程序,你可以通过它来安装虚拟机和运行 Docker。

提示4:虽然你使用的是 Windows 的 Docker 客户端,但是 docker 引擎容器依然是运行在 Linux 宿主主机上(现在是通过Virtual box)。直到我们开发了 windows 版本的 Docker 引擎,你只需要在你的 Windows 主机上启动一个 Linux 容器。

Windows安装docker环境的基本要求:

(1)必须是64位操作系统,win7或者更高 (推荐Windows 10/server 2016 因为新版集成了很多新组件)
(2)支持“ Hardware Virtualization Technology”,并且,“virtualization ”可用(也就是在BIOS启用VT参数)

1、下载 windows server 2016 180天评估版本。

 地址:https://www.microsoft.com/en-us/evalcenter/evaluate-windows-server-2016?i=1

 Windows Server 2016 官方简体中文正式版 64位(附激活序列号密钥)

2、安装windows server 2016

安装过程类似于window10 ,可根据需要是否安装GUI。

3、更新系统到最新版本

打开powershell 输入命令“sconfig",选择6下载并安装更新。

===============================================================================       服务器配置===============================================================================1) 域/工作组:     工作组: WORKGROUP2) 计算机名:     WIN-GHUNK220OOQ3) 添加本地管理员4) 配置远程管理     已启用5) Windows 更新设置:   仅下载6) 下载并安装更新7) 远程桌面:     已启用(所有客户端)8) 网络设置9) 日期和时间10) 遥测设置基本11) Windows 激活12) 注销用户13) 重新启动服务器14) 关闭服务器15) 退出到命令行

4、安装docker

首先安装oneget PowerShell模块

Install-Module -Name DockerMsftProvider -Repository PSGallery -Force

再使用oneget 安装最新版本docker

Install-Package -Name docker -ProviderName DockerMsftProvide

powershell中询问你是否确实要安装来自“DockerDefault”的软件,选择“A”全是。

PS C:/> Install-Module -Name DockerMsftProvider -Repository PSGallery -ForcePS C:/> Install-Package -Name docker -ProviderName DockerMsftProvider程序包来自未标记为“受信任”的程序包源。是否确实要安装来自“DockerDefault”的软件?[Y] 是(Y) [A] 全是(A) [N] 否(N) [L] 全否(L) [S] 暂停(S) [?] 帮助 (默认值为“N”): A警告: A restart is required to start docker service. Please restart your machine.警告: After the restart please start the docker service.Name       Version   Source   Summary----       -------   ------   -------Docker       1.12.2-cs2-ws... DockerDefault Contains the CS Docker Engine for use with Windows ...

安装完成重启计算机

Restart-Computer -Force

在powershell中输入,docker version,显示docker版本

PS C:/Users/Administrator> docker versionClient: Version:  1.12.2-cs2-ws-beta API version: 1.25 Go version: go1.7.1 Git commit: 050b611 Built:  Tue Oct 11 02:35:40 2016 OS/Arch:  windows/amd64Server: Version:  1.12.2-cs2-ws-beta API version: 1.25 Go version: go1.7.1 Git commit: 050b611 Built:  Tue Oct 11 02:35:40 2016 OS/Arch:  windows/amd64

5、安装第一个docker容器

使用docker run 部署一个.net core hellworld官方应用程序镜像

docker run microsoft/dotnet-samples:dotnetapp-nanoserver

会看到跟linux部署容器一样的界面

PS C:/Users/Administrator>docker run microsoft/dotnet-samples:dotnetapp-nanoserverUnable to find image 'microsoft/dotnet-samples:dotnetapp-nanoserver' locallydotnetapp-nanoserver: Pulling from microsoft/dotnet-samples5496abde368a: Downloading [===>            ] 14.6 MB/242.6 MB482ab31872a2: Downloading [=========>           ] 19.46 MB/100.5 MBdf00079eb06a: Download complete79730b122a0a: Download completee2f5db19e1d2: Downloading [===>            ] 2.293 MB/32.48 MBc34ebc4d7351: Waiting8c97c2cd28c1: Waiting6bd62be70d1c: Waiting9b45b5fe5811: Waiting

参考文章:

https://msdn.microsoft.com/virtualization/windowscontainers/containers_welcome