创建.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。
记得勾选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,则修改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
下一篇: C#中时间相关知识点小结