首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >.NET Core项目部署到Windows系统Docker

.NET Core项目部署到Windows系统Docker

作者头像
GoodTime
发布2024-03-05 15:55:01
发布2024-03-05 15:55:01
5410
举报
1、新建一个ASP.NET Core Web应用(模型-视图-控制器)

2、 项目启动Docker、Docker OS选择Windows
3、系统默认的dockerfile文件如下
代码语言:javascript
复制
#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.

#Depending on the operating system of the host machines(s) that will build or run the containers, the image specified in the FROM statement may need to be changed.
#For more information, please see https://aka.ms/containercompat

FROM mcr.microsoft.com/dotnet/aspnet:5.0 AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443

FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build
WORKDIR /src
COPY ["dockerdemo/dockerdemo.csproj", "dockerdemo/"]
RUN dotnet restore "dockerdemo/dockerdemo.csproj"
COPY . .
WORKDIR "/src/dockerdemo"
RUN dotnet build "dockerdemo.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "dockerdemo.csproj" -c Release -o /app/publish

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "dockerdemo.dll"]

设置dockerfile文件属性 -【复制到输出目录】:始终复制

4、更改下主页文件(Index.cshtml)显示(此步骤可忽略,纯属作者测试显摆)
代码语言:javascript
复制
@{
    ViewData["Title"] = "Home Page";
}

<div class="text-center">
    <h1 class="display-4">Welcome</h1>
    <h1 class="display-4">Congratulations, for publishing your project to docker and seeing this page in your browser.</h1>
    <p>Learn about <a href="https://docs.microsoft.com/aspnet/core">building Web apps with ASP.NET Core</a>.</p>
</div>
5、右击项目重新生成解决方案无误后,在Release模式下,发布项目到本地文件夹

准备发布

6、在发布文件夹下,更改dockerfile文件如下
代码语言:javascript
复制
FROM mcr.microsoft.com/dotnet/aspnet:5.0 AS base
WORKDIR /app

EXPOSE 80
EXPOSE 443

COPY . .

ENTRYPOINT ["dotnet", "dockerdemo.dll"]

dockerfile文件指令说明:

  • FROM -指定所创建镜像的基础镜像
  • WORKDIR-配置工作目录
  • EXPOSE-声明镜像内服务监听的端口
  • COPY-复制内容到镜像
  • ENTRYPOINT-启动镜像的默认人口命令
7、在发布文件夹直接右键在Windows Terminal(PowerShell)中打开,或者在cmd中通过命令进入到发布文件夹目录
8、 创建镜像

在第7步下输入如下命令,创建docker images

docker build -t dockerdemoimg .

参数分解:

  • -t ---指定镜像名称
  • 命令结尾处 . ---表示build上下文为当前目录,默认情况下docker会使用在上下文的根目录下找到Dockerfile文件

如上图即创建成功

9、可以通过命令或直接在Docker Desktop上看到刚创建成功的镜像
10、 绑定端口、创建并启动查看容器

docker run --name=dockerdemo -p 2022:80 -d dockerdemoimg

参数说明

  • --name 指定容器的名称。当然可以不指定,默认会为我们创建
  • -p 外部端口与内部容器端口映射
  • -d 表示在后台以守护态(daemonized)形式运行容器
  • 最后一个参数 dockerdemoimg 就是我们刚创建的镜像名称

11、打开浏览器,验证部署

打开浏览器,访问http://localhost:2022/,看到如下图则说明部署访问成功,恭喜自己一下吧!

以上就是.NET Core项目部署到Windows系统Docker的介绍,做此记录,如有帮助,欢迎点赞关注收藏!
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-02-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、新建一个ASP.NET Core Web应用(模型-视图-控制器)
  • 2、 项目启动Docker、Docker OS选择Windows
  • 3、系统默认的dockerfile文件如下
  • 4、更改下主页文件(Index.cshtml)显示(此步骤可忽略,纯属作者测试显摆)
  • 5、右击项目重新生成解决方案无误后,在Release模式下,发布项目到本地文件夹
  • 6、在发布文件夹下,更改dockerfile文件如下
  • 7、在发布文件夹直接右键在Windows Terminal(PowerShell)中打开,或者在cmd中通过命令进入到发布文件夹目录
  • 8、 创建镜像
  • 9、可以通过命令或直接在Docker Desktop上看到刚创建成功的镜像
  • 10、 绑定端口、创建并启动查看容器
  • 以上就是.NET Core项目部署到Windows系统Docker的介绍,做此记录,如有帮助,欢迎点赞关注收藏!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档