本文通过一系列的步骤,来学习怎么在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