Docker for Windows使用简介

上一篇文章中,通过演练指导的方式,介绍了在Docker中运行ASP.NET Core Web API应用程序的过程。本文将介绍Docker for Windows的使用。

先决条件

前两周时间,Docker发布了Docker for Windows的正式版,于是就可以在Windows下运行Docker容器了。要在Windows下运行Docker,需要满足以下先决条件:

  • 64位Windows 10 Pro、Enterprise或者Education版本(Build 10586以上版本,需要安装1511 November更新)
  • 在系统中启用Hyper-V。如果没有启用,Docker for Windows在安装过程中会自动启用Hyper-V(这个过程需要重启系统)

不过,如果不是使用的Windows 10,也没有关系,可以使用Docker Toolbox作为替代方案。

Docker for Windows的安装与使用

在Windows 10中,请点击此处下载Docker for Windows的安装包,然后开始安装。正如上面所述,如果Hyper-V没有启用,安装过程会自动启用Hyper-V,这将需要重新启动Windows系统。安装完成后,就可以在Windows下使用Docker了。

启动Docker for Windows,会在系统托盘部分显示一条小鲸鱼的图标:。在Docker完全启动之前,小鲸鱼背上的小方块会不停地闪烁变化,等小方块稳定不变后,表示系统完全启动成功,此时就可以对Docker的环境进行设置,或者开始执行Docker命令了。

Docker环境的设置

右键单击系统托盘上的小鲸鱼图标,选择Settings菜单:

此时将打开Settings对话框:

该对话框主要包含了针对运行Docker Daemon的虚拟环境的配置,以及对Docker Daemon的配置。包括:

  • Shared Drivers:可以将主机(也就是Windows机器)中的驱动器共享到Docker Container中
  • Advanced:用于配置运行Docker Daemon的虚拟环境的CPU和内存
  • Network:配置Docker的网络环境
  • Proxies:代理的配置
  • Docker Daemon:使用JSON格式的设置,对Docker Daemon进行配置,类似于在Linux环境中使用conf文件对Docker进行配置

其实,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 8或者8.1:在任务管理器中,选择“性能”标签页,然后在CPU一栏,查看“虚拟化”(Virtualization)一项是否已经启用
  • 如果是Windows 7,请下载并执行Microsoft Hardware-Assisted Virtualization Detection Tool来查看系统是否满足条件

同时,还需要确保Windows系统是64位的。有关Docker Toolbox的更多信息,请参考官方网站的详细说明

运行Docker命令

在Docker for Windows成功启动后,就可以在Windows命令提示符下执行Docker命令了,也可以在Power Shell中执行Docker命令,看个人喜好吧。Docker CLI的体验和Linux下是一样的。

使用Docker for Windows在容器中运行ASP.NET Core Web API应用程序

我们仍然使用前面这篇文章中所发布的那个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)与部署。

时间: 2024-10-04 18:53:39

Docker for Windows使用简介的相关文章

Docker for Windows

Docker for Windows使用简介 在上一篇文章中,通过演练指导的方式,介绍了在Docker中运行ASP.NET Core Web API应用程序的过程.本文将介绍Docker for Windows的使用. 先决条件 前两周时间,Docker发布了Docker for Windows的正式版,于是就可以在Windows下运行Docker容器了.要在Windows下运行Docker,需要满足以下先决条件: 64位Windows 10 Pro.Enterprise或者Education版

Docker原生网络技术简介

Docker原生网络技术简介 默认网络 在宿主机部署好Docker Engine后会默认创建三种网络:Bridge.Host和None,如下: docker network ls NETWORK ID NAME DRIVER SCOPE 93dab79cdb5a bridge bridge local c920c9c10e62 host host local d2a11ea1c70a none null local Bridge 默认的Bridge网络是我们比较熟悉的docker0,它在安装完E

Docker在Windows下的安装以及Hello World

本文主要介绍Docker在Windows下的安装.关于Docker的介绍和文档在其官网中可以找到:http://www.docker.com .安装环境:Windows7. Docker引擎使用了一个定制的Linux内核,所以要在Windows下运行Docker我们需要用到一个轻量级的虚拟机(vm),我们使用Windows Docker客户端以控制Docker引擎,来创建,运行和管理我们的Docker容器(关于Docker引擎,容器等具体概念请参考官网). 安装步骤 第一步: 首先到https:

使用Docker for Windows初体验

这是第二次使用Docker for Windows了. 最近准备研究一下Docker的一些高级特性如Swarm Clusters,需要用到docker-machine,docker-machine目前仅支持Mac 或 Windows,由于没有Mac所以需要在Windows上运行Docker.官方声称Docker for Windows是一个在Windows系统中创建容器化App的完整开发平台.看完这篇文章,或许你会对Docker和Windows有重新的认识,一改之前对Windows的那些"不好感

Docker for Windows安装与Linux+PHP开发环境搭建(一)

Docker是什么? 简单得来说,Docker是一个由GO语言写的程序运行的"容器"(Linux containers, LXCs); 目前云服务的基石是操作系统级别的隔离,在同一台物理服务器上虚拟出多个主机.Docker则实现了一种应用程序级别的隔离; 它改变我们基本的开发.操作单元,由直接操作虚拟主机(VM),转换到操作程序运行的"容器"上来. Docker的好处 Docker的优点:运行快.部署敏捷.灵活.轻量.开源免费. Boot2Docker是一个专为Do

解决 docker on windows下网络不通

问题:公司有一台闭置的windows服务器,于是想利用起来,但是在启动容器后始终无法通信成功. 研究: 1. 发现安装包中包含virtualbox, 于是怀疑windows下的docker是在virtualbox中run了一个DOCKER虚拟机(额外思考一下,你自己构建的容器运行在virtualbox的docker里,跟linux下直接运行在docker里是否多了一层?性能是否会有损失?) 2. 启动virtualbox, 果然有个新建并且在运行的虚拟机 3. 尝试修改:在虚拟网卡中添加转发 注

Platform SDK、Windows SDK简介

Platform SDK及Windows SDK是由微软公司出品的一个软件开发包,向在微软的Windows操作系统和.NET框架上开发软件和网站的程序员提供头文件.库文件.示例代码.开发文档和开发工具. 微软每次发布一个主要版本的Windows,都会发布对应的开发工具以使得开发人员能够调用新的操作系统的应用程序开发接口(API). 在Windows 98之后,这个开发工具包被命名为为Platform SDK.在Windows Vista的SDK推出时,这个产品改名为Windows SDK. Pl

学习docker on windows (1): 为什么要使用docker

为什么要用Docker? 如果我们想使用某种pc软件, 那么在互联网上查找并安装软件的流程大致如下图: 那么这就有几个问题要弄清楚: 从哪里获得软件 App Store Linux的包管理 从某些网站直接下载 软件是否提供了相关信息和数据 例如流行度, 下载次数, 存在的bug, 上次的更新时间等等. 信任问题 下载软件的网站是否为官方网站 http 还是 https 代码 是否还可以下载 是否收费 第一个令人困扰的问题: 安装软件 软件是否支持我的操作系统/版本 是否支持我的设备的CPU架构

使用WSL连接Docker for Windows

在Windows下安装Docker for Windows Cotana搜索功能,打开Windows的Hype-v功能(注:会影响Virtualbox和Vmware的使用)并重启电脑. 从Docker官方网站下载Docker for windows并安装. 右键Docker for windows程序小图标--Settings--general--expose daemon on tcp://localhost:2375 without TLS 右键Docker for windows程序小图标