asp.net 网站的编译,野花韩国视频观看免费高清的,金蝶进销存管理系统,wordpress字母头像本文是一篇指导快速演练的文章#xff0c;将介绍在docker中运行一个ASP.NET Core Web API应用程序的基本步骤#xff0c;在介绍的过程中#xff0c;也会对docker的使用进行一些简单的描述。对于.NET Core以及docker的基本概念#xff0c;网上已经有很多文章对其进行介绍了将介绍在docker中运行一个ASP.NET Core Web API应用程序的基本步骤在介绍的过程中也会对docker的使用进行一些简单的描述。对于.NET Core以及docker的基本概念网上已经有很多文章对其进行介绍了因此本文不会再详细讲解这些内容。对.NET Core和docker不了解的朋友建议首先查阅与这些技术相关的文档然后再阅读本文。 先决条件 要完成本文所介绍的演练任务需要准备以下环境 Visual Studio 2015或者Visual Studio Code用于创建ASP.NET Core的Web API应用程序。本文使用Visual Studio 2015如果使用Visual Studio 2015则需要安装.NET Core 1.0.0 – VS 2015 Tooling Preview 2。请点击此处安装Microsoft .NET Core SDK可以到微软官方网站下载安装一台装有Ubuntu 14.04.4 LTS的机器可以是虚拟机。在Ubuntu中安装docker CLI。可以按照docker网站上的步骤进行安装如果希望在Windows下使用docker请确保Windows机器满足下面的需求64位Windows 10 Pro、Enterprise或者Education版本Build 10586以上版本需要安装1511 November更新在系统中启用Hyper-V。如果没有启用Docker for Windows在安装过程中会自动启用Hyper-V这个过程需要重启系统 有关Docker for Windows的内容我会在另外的文章中介绍。 演练步骤 使用Visual Studio 2015创建一个ASP.NET Core的Web API应用程序 打开Visual Studio 2015在新建项目的对话框中选择.NET Core分类下的ASP.NET Core Web Application (.NET Core)项目模板给项目命名为DockerWebAPI然后单击确定按钮。 在New ASP.NET Core Web Application (.NET Core)对话框中选择Web API然后点击确定按钮。 项目成功创建后在解决方案浏览器中可以看到如下项目结构 在此也不对ASP.NET Core的应用程序结构做过多介绍了。接下来我们修改一下自动产生的ValuesController使得GET方法返回当前机器的机器名如下 打开Program.cs文件在构建WebHostBuilder的连贯方法链中加入UseUrls调用以便我们的应用程序可以接受来自任何IP的请求。这就使得应用程序在docker容器中也能接受HTTP请求 OK编译后在命令行使用dotnet run运行这个应用程序 打开浏览器测试一下我们的应用运行成功 将ASP.NET Core Web API应用程序编译成Docker Image 首先进入项目根目录也就是包含有project.json文件的这个目录使用dotnet publish命令发布应用程序。这就会把编译后的DLL连同依赖项一起全部复制到bin/Debug/netcoreapp1.0/publish目录下。此时使用WinSCP类似的软件将该目录下的所有内容全部复制到Ubuntu的机器上当然如果是在Windows 10下使用Docker也就不需要这个复制的步骤。复制完成后在Ubuntu系统中可以看到所有的这些文件 我们顺便在Ubuntu中测试一下这个应用程序看ASP.NET Core Web API是否能够在Linux的系统中与Windows下有着相同的用户体验。此时在这个目录下运行dotnet DockerWebAPI.dll命令要运行dotnet命令就需要在Ubuntu中安装.NET Core CLI也可以到微软官方网站下载安装但对于本文的演练来说这一步是不一定需要的可以看到下面的界面 使用curl命令测试一下 测试成功。 接下来在这个包含有DockerWebAPI.dll文件的目录下新建一个Dockerfile文件使用vim或者nano等文本编辑器输入以下内容#开头的行为注释行可以不输入 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 6 17 18 19 20 # 基于microsoft/dotnet:latest构建Docker Image FROM microsoft/dotnet:latest # 进入docker中的/usr/local/src目录 RUN cd /usr/local/src # 创建DockerWebAPI目录 RUN mkdir DockerWebAPI # 设置工作路径 WORKDIR /usr/local/src/DockerWebAPI # 将当前文件夹下的所有文件全部复制到工作目录 COPY *.* ./ # 向外界暴露5000端口 EXPOSE 5000 # 执行dotnet DockerWebAPI.dll命令 CMD [dotnet, DockerWebAPI.dll] 关于Dockerfile的定义我们暂不讨论请参考Docker的官方文档。 仍然在当前目录下执行以下命令创建Docker Image 1 docker build -t daxnet/docker-webapi . 注意千万别省略了最后一个点号它表示采用当前路径的Dockerfile来生成Docker Image。如果是第一次生成由于需要下载microsoft/dotnet:latest这个Docker Image作为基础Image所以会比较慢国内网速原因你懂的。如果成功的话大致可以看到以下画面 在Docker Container中运行ASP.NET Core Web API应用程序 现在我们就可以使用docker run来执行刚才产生的Docker Image了。docker run会把Docker Image加载到Docker Container中然后执行由Dockerfile指定的命令也就是dotnet DockerWebAPI.dll命令。docker run的命令如下 docker run -it -p 8080:5000 daxnet/docker-webapi 在这条命令中 -it参数表示需要提供一个模拟的shell环境并要求有用户交互功能这样当我们按下CtrlC的时候就可以停止我们的应用程序-p 8080:5000参数表示需要将Docker Container的5000端口映射到主机环境的8080端口也就是客户端可以直接通过8080端口访问我们的应用程序daxnet/docker-webapi参数指定了需要运行的Docker Image。此处采用默认的latest标签 运行后可以看到如下界面 让我们测试一下在Linux中使用curl命令调用我们的服务注意与之前的测试相比端口号需要由5000改为8080 当然也可以在另一台机器的浏览器中调用 事实上这时返回的机器名已经是Docker容器的ID值了 总结 本文通过快速地对各个步骤的描述介绍了使用Visual Studio 2015创建ASP.NET Core WebAPI应用程序并在Docker中运行该应用程序的方法。有些地方可能描述得不是很清楚如有疑问欢迎留言讨论。今后争取能够更多地分享Visual Studio 2015、Docker、.NET Core等相关的实践经验。 相关文章 docker4dotnet #1 – 前世今生 世界你好docker4dotnet #2 容器化主机docker – 你应该知道的10件事ASP.NET Core Docker部署docker4dotnet #3 .net猿和小鲸鱼的苹果山之旅我为什么用docker-compose来打包开发环境Win10上运行Docker 原文地址http://www.cnblogs.com/daxnet/p/5782019.html .NET社区新闻深度好文微信中搜索dotNET跨平台或扫描二维码关注