ASP.NET Core:使用Docker部署应用程序

一、前言

本篇文章讲解如何在Linux上使用Docker来部署ASP.NET Core应用程序。

二、

1、创建应用程序

使用ASP.NET Core创建一个MVC应用程序,并修改Home控制器Index视图代码:

@{
    ViewData["Title"] = "Home Page";
}

<div class="text-center">
    @*<h1 class="display-4">Welcome</h1>
    <p>Learn about <a href="https://docs.microsoft.com/aspnet/core">building Web apps with ASP.NET Core</a>.</p>*@
    <h1>使用Docker部署ASP.NET Core应用程序</h1>
</div>

运行程序,输出结果如下图所示:

2、添加Dockerfile文件

由于我们要使用Docker进行部署,所以要添加Dockerfile文件,在项目上右键,选择“添加”,然后选择“Docker支持”,如图所示:

我们是在Linux上进行部署,所以目标OS选择Linux:

Dockerfile文件内容如下:

# 使用运行时镜像
FROM mcr.microsoft.com/dotnet/aspnet:5.0-buster-slim
# 设置工作目录
WORKDIR /app
# 把目录下的内容都复制到当前目录下
COPY . .
# 暴露80端口
EXPOSE 80
# 设置容器编码格式
ENV LANG C.UTF-8
# 设置时区,解决容器内时间和宿主机时间不一致问题
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
# 运行镜像入口命令和可执行文件名称
ENTRYPOINT ["dotnet", "DockerDemo.dll"]

注意:添加了Dockerfile文件以后,里面会自动添加一个文件内容,这里没有使用默认的Dockerfile文件的内容,Dockerfile文件的内容可以自己修改。

修改Dockerfile文件的属性,修改为始终复制:

3、发布

最后,将应用程序进行发布,这里选择发布到文件夹:

发布文件夹目录可以自定义:

三、部署

将上面步骤发布后的文件拷贝到远程的Linux服务器上,然后进行部署。

1、构建镜像

执行下面的命令,根据Dockerfile文件构建镜像:

docker build -t dockerdemo .

如图所示:

注意:最后的“.”不能省略。

默认情况下会找当前目录下面的Dockerfile文件,我们也可以修改Dockerfile文件的名称,构建镜像的时候使用-f参数指定使用哪个Dockerfile文件即可,我们修改Dockerfile文件的名称:

使用下面的命令构建镜像:

docker build -t dockerdemotest -f Dockerfile-test .

如图所示:

2、运行容器

使用下面的命令根据上面步骤构建的镜像运行容器:

docker run --name=dockerdemo -d -p 5000:80 dockerdemo

如图所示:

 

这样就表示容器运行成功了,可以访问了:

这样一个简单的部署就完成了。 

posted @ 2021-11-08 21:14  .NET开发菜鸟  阅读(2158)  评论(0编辑  收藏  举报