在上一篇文章中,经过演练指导的方式,介绍了在Docker中运行ASP.NET Core Web API应用程序的过程。本文将介绍Docker for Windows的使用。html
前两周时间,Docker发布了Docker for Windows的正式版,因而就能够在Windows下运行Docker容器了。要在Windows下运行Docker,须要知足如下先决条件:web
不过,若是不是使用的Windows 10,也没有关系,可使用Docker Toolbox做为替代方案。docker
在Windows 10中,请点击此处下载Docker for Windows的安装包,而后开始安装。正如上面所述,若是Hyper-V没有启用,安装过程会自动启用Hyper-V,这将须要从新启动Windows系统。安装完成后,就能够在Windows下使用Docker了。windows
启动Docker for Windows,会在系统托盘部分显示一条小鲸鱼的图标:。在Docker彻底启动以前,小鲸鱼背上的小方块会不停地闪烁变化,等小方块稳定不变后,表示系统彻底启动成功,此时就能够对Docker的环境进行设置,或者开始执行Docker命令了。api
右键单击系统托盘上的小鲸鱼图标,选择Settings菜单:缓存
此时将打开Settings对话框:安全
该对话框主要包含了针对运行Docker Daemon的虚拟环境的配置,以及对Docker Daemon的配置。包括:网络
其实,Docker for Windows的安装过程会在Hyper-V中建立一台用于运行Docker Daemon的Linux虚拟机,这个对话框中的不少配置也就是针对该虚拟机所做出的配置。当配置发生更改后,Docker for Windows会从新启动(小鲸鱼背上的小方块又会动起来),这个过程其实就是这台Linux虚拟机的配置进行动态调整和重启的过程。例如,从下图能够看到,我将我本身的Docker设置为1个CPU和1GB的内存,这个配置会应用到Hyper-V的这台虚拟机上:性能
若是在Windows 10之前版本的Windows中安装Docker Toolbox,就须要确保Windows系统支持硬件虚拟化技术(HVT):测试
同时,还须要确保Windows系统是64位的。有关Docker Toolbox的更多信息,请参考官方网站的详细说明。
在Docker for Windows成功启动后,就能够在Windows命令提示符下执行Docker命令了,也能够在Power Shell中执行Docker命令,看我的喜爱吧。Docker CLI的体验和Linux下是同样的。
咱们仍然使用前面这篇文章中所发布的那个ASP.NET Core Web API应用程序,也仍然使用那个Dockerfile文件。如今,首先确保Dockerfile文件与发布出来的DockerWebAPI应用程序的文件都在同一个目录下:
而后执行:
docker build -t daxnet/docker-webapi .
将看到如下结果(固然,以前已经执行过一次了,因此基本上每一步的Image都是从缓存里取的):
与Linux下编译Docker Image相比,这里多了一个安全警告。这是由于咱们是在Windows下使用部署在非Windows中的Docker服务来完成的Image的编译生成,两套系统中的文件权限设置不一样。Docker for Windows建议在编译生成的Image上对文件的权限进行检查以确保安全。
接下来测试一下刚刚生成的Docker Image。执行:
docker run -it -p 8080:5000 daxnet/docker-webapi
将获得下面的效果:
测试一下:
效果跟前一篇文章的效果同样。
本文对Docker for Windows进行了简单的介绍,并使用上一篇文章的案例,在Docker for Windows上运行了ASP.NET Core Web API应用程序。后文我还将介绍有关Docker使用的一些内容,还会继续结合ASP.NET Core Web API来说解RESTful服务的容器化(Dockerization)与部署。