zoukankan      html  css  js  c++  java
  • 在Docker容器中运行.Net Core web Api项目

    安装Docker环境

    参考本人这篇《CentOS 7 下Docker的安装》文章进行安装以及环境配置,这里不做赘述。

    通过.NetCore开发WebApi项目

    1. 创建.Net Core Web项目,如下图所示:

    这里我们选择Web API模板进行项目创建,为了简单起见,我们不做身份验证,也不选择 Host in cloud,点击ok项目及创建好

    默认的项目文件结构如图所示:

    在cmd 执行dotnet restore 恢复依赖包

    运行项目,在浏览器就可以查看到结果

     至此,一个简单的.Net Core开发的Web API项目就做好了

    现在我们就把它放到Docker中运行。

    Docker中运行

    1. 首先我们先修改一下项目文件,主要是Program.cs和project.json

    在Program.cs文件中加 .UseUrls("http://*:9001")是为了让来自所有IP的请求都可以访问这个API,当然也可以写成.UseUrls("http://0.0.0.0:9001") 作用一样,9001是公布出去的端口号。

    另外一个修改的文件就是project.json,注释掉type那行以及scripts。添加 

    "runtimes": {
        "debian.8-x64": { }
      }

    因为我这里代码目标运行的机器是debian系统的docker镜像,所以runtimes写成了debian.8-x64。你可以按照你实际情况配置

     

     

     2. 发布程序到文件系统

    发布成功后,会在项目目录下面生成发布好的文件

    将发布成功的文件打个压缩包,上传到Linux机器上,并且解压到一个目录中, 进入到这个目录中

    新建一个Dockerfile文件 <touch Dockerfile>, 这个文件的作用是构建一个Docker运行镜像。其中所需要填写的内容如下:

    
    
     1 FROM microsoft/dotnet:latest
     2 
     3 RUN mkdir -p /usr/src/app/DockerTest
     4 
     5 COPY . /usr/src/app/DockerTest
     6 
     7 WORKDIR /usr/src/app/DockerTest
     8 
     9 EXPOSE 9002
    10 
    11 CMD ["dotnet", "DockerTest.dll", "--server.urls", "http://*:9002"]
    上面内容第1行代表在microsoft/dotnet:latest基础上面构建Docker镜像(这个微软dotnet镜像是以debian系统构建生成的)

    第2行是表示新建一个DockerTest目录

    第3行是将当前目录下面的所有文件都复制到刚才新建的DockerTest目录下面

    第4行是将程序工作目录切换到DockerTest

    第5行是将9002端口公布出去

    第6行是执行dotnet DockerTest.dll 命令

    Dockerfile文件编辑好后,执行docker build -t docker_test . 如下图所示生成docker_test镜像文件

    通过docker images命令可以查看刚才新建的docker_test镜像

     运行docker_test镜像创建出来的容器

    通过浏览器访问此docker容器Host起来的service

  • 相关阅读:
    使用ASP.Net MVC5 Web API OData和Sencha Touch 开发WebAPP
    @MarkFan 口语练习录音 20140401
    Listening Carefully SP1403S
    Listening Carefully SP1403
    团队股权分配
    Sencha Architect 安装与使用
    离乡与理想 Demo
    PowerDesigner创建物理模型
    SOA 面向服务架构 阅读笔记(六)
    SOA 面向服务架构 阅读笔记(五)
  • 原文地址:https://www.cnblogs.com/suidouya/p/7102413.html
Copyright © 2011-2022 走看看