欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

创建.Net 5应用并部署到Docker

程序员文章站 2022-08-12 08:25:18
.NET Core支持跨平台的应用。现在越来越多的.net应用可以部署云上或Docker上。本文简单介绍如何将.NET 5的ASP .NET Core应用部署到Docker. 打开VS2019,创建一个跨平台的Asp.NET Core应用 ,命名为:ASP.NETCore.Test。目标框架选择 . ......

.net core支持跨平台的应用。现在越来越多的.net应用可以部署云上或docker上。本文简单介绍如何将.net 5的asp .net core应用部署到docker.

打开vs2019,创建一个跨平台的asp.net core应用 ,命名为:asp.netcore.test。目标框架选择 .net 5。

 创建.Net 5应用并部署到Docker

记得勾选docker支持项。(创建完会自动生成dockerfile文件,方便docker部署)

在pages文件夹下,打开index.cshtml,写下页面内容

@page
@model indexmodel
@{
    viewdata["title"] = "home page";
}

<div class="text-center">
     <div id="msg">[状态]@model.code<br/>[消息]@model.message</div>
</div>

  

在后台的index.cshtml.cs页面下封装上面两个属性。

  public string message { get; private set; }

  public int code { get; private set; }

 并在页面的onget()事件下,写下返回值。

 code = 200;
 message = "调用成功";

  在program.cs启动类,指定端口号8083:

public static ihostbuilder createhostbuilder(string[] args) =>
            host.createdefaultbuilder(args)
                .configurewebhostdefaults(webbuilder =>
                {
                    webbuilder.usestartup<startup>()
                    .useurls("http://*:8083");
                });

  启动调试,在浏览器看到结果类似下图所示:

创建.Net 5应用并部署到Docker

以上简单例子就是.net 5的应用了。若要部署到docker,则修改dockerfile文件中的脚本:

from mcr.microsoft.com/dotnet/aspnet:5.0 

#设置工作目录为 `/publish` 文件夹,即容器启动默认的文件夹
workdir /publish

#拷贝项目publish文件夹中的所有文件到 docker容器中的publish文件夹中  
copy . /publish
 
#设置docker容器对外暴露8083端口
expose 8083

#使用dotnet命令启动应用
cmd ["dotnet", "asp.netcore.test.dll", "--server.urls", "http://*:8083"]

将文件上传到linux服务器,使用命令构建docker镜像。

docker build -t asp.netcore.test:v1 .

启动镜像:

docker run --name pro -p 8083:8083 -d asp.netcore.test:v1