在docker中运行ASP.NET Core Web API应用程序(附AWS Windows Server 2016 widt Container实战案例)

环境准备

1、亚马逊EC2 Windows Server 2016 with Container

2、Visual Studio 2015 Enterprise(Profresianal要装Update 3)

3、.NET Core 1.0.0 – VS 2015 Tooling Preview 2。请点击此处安装

4、Microsoft .NET Core SDK,可以到微软官方网站下载安装

5、Visual Stuido Tool For Docker(在VS扩展里下载安装)

实验步骤

一、Docker环境准备

亚马逊EC2 Windows Server 2016 with Container已经内置了Docker,如下:

点击Windows左下角搜索-》输入“Server Manager”,

在Dashboard右边点Add Role or Featurn

在docker中运行ASP.NET Core Web API应用程序(附AWS Windows Server 2016 widt Container实战案例)

这个和以往Server不一样,roles和features是一起添加的。这里点下一步,发现Roles中的Hyper-V是没启用的,好多人说要启用,这里我没启用

在docker中运行ASP.NET Core Web API应用程序(附AWS Windows Server 2016 widt Container实战案例)

在features里面有个Container,这个就是Docker了

在docker中运行ASP.NET Core Web API应用程序(附AWS Windows Server 2016 widt Container实战案例)

验证Docker是否已安装,在CMD下桥下如下命令来验证一下:

在docker中运行ASP.NET Core Web API应用程序(附AWS Windows Server 2016 widt Container实战案例)

docker info如果能被识别执行的话,说明Docker已经安装成功了。

二、开发ASP.NET Core WebApi

启动VS2015前,请确保已经安装了DotNetCore.1.0.1-VS2015Tools.Preview2.0.2和Visual Stuido Tool For Docker(在VS扩展里下载安装)

在docker中运行ASP.NET Core Web API应用程序(附AWS Windows Server 2016 widt Container实战案例)

在docker中运行ASP.NET Core Web API应用程序(附AWS Windows Server 2016 widt Container实战案例)在docker中运行ASP.NET Core Web API应用程序(附AWS Windows Server 2016 widt Container实战案例)

工具生成的Dockerfile文件,把这句注释掉,不然运行docker run命令时会报错(需要在powershell 运行 dotnet dockerwebapidemo.dll)

在docker中运行ASP.NET Core Web API应用程序(附AWS Windows Server 2016 widt Container实战案例)

保存自动编译,在程序根目录下运行dotnet publish,会自动编译而且在bin下生成publish文件夹

在docker中运行ASP.NET Core Web API应用程序(附AWS Windows Server 2016 widt Container实战案例)在docker中运行ASP.NET Core Web API应用程序(附AWS Windows Server 2016 widt Container实战案例)

然后在publish文件夹下运行docker build生成docker镜像

在docker中运行ASP.NET Core Web API应用程序(附AWS Windows Server 2016 widt Container实战案例)

注意最后一个点,表示当前路径。

查看生成的镜像

在docker中运行ASP.NET Core Web API应用程序(附AWS Windows Server 2016 widt Container实战案例)

运行容器

docker run -it -p 8600:5000 xucixiao/dockerwebapidemo

返回如下界面表示容器启动成功

在docker中运行ASP.NET Core Web API应用程序(附AWS Windows Server 2016 widt Container实战案例)

上一篇:Android数据存储之Android 6.0运行时权限下文件存储的思考


下一篇:【C++沉思录】句柄2