记录将现有的Asp.Net Core 5.0项目部署到Linux环境下的Docker中

 准备工作

  1. 一台Linux服务器(我的云服务器版本是CentOS 8.3 64位)
  2. Linux需要装Docker
  3. Linux需要安装.net core 5.0的运行时基础镜像(docker pull microsoft/dotnet即可,这个是最简单的办法,可以按照自己的需要安装不同的官方基础镜像)
  4. .net core 5.0的项目

开始

  1. 使用VS2019打开需要部署的.net core 5.0的项目 
  2. 选中项目,右键 -> 添加->Docker支持->Linux,会生成一个Dockerfile文件,此文件就是用于docker生成镜像的,并通过此文件启动我们的项目

    #See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.
    
    FROM mcr.microsoft.com/dotnet/aspnet:5.0-buster-slim AS base
    WORKDIR /app
    EXPOSE 80
    
    FROM mcr.microsoft.com/dotnet/sdk:5.0-buster-slim AS build
    WORKDIR /src
    COPY ["Wcg.FileService/Wcg.FileService.csproj", "Wcg.FileService/"]
    RUN dotnet restore "Wcg.FileService/Wcg.FileService.csproj"
    COPY . .
    WORKDIR "/src/Wcg.FileService"
    RUN dotnet build "Wcg.FileService.csproj" -c Release -o /app/build
    
    FROM build AS publish
    RUN dotnet publish "Wcg.FileService.csproj" -c Release -o /app/publish
    
    FROM base AS final
    WORKDIR /app
    COPY --from=publish /app/publish .
    ENTRYPOINT ["dotnet", "Wcg.FileService.dll"]

  3. 修改VS帮我们生成的Dockerfile文件;因为此次记录只做一次简单的展示,而VS帮我们生成的文件是从解决方案进行编译和发布最终执行的,所以需要修改Dockerfile文件
    #See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.
    
    # 使用运行时镜像
    FROM mcr.microsoft.com/dotnet/aspnet:5.0-buster-slim AS base
    # 设置工作目录
    WORKDIR /app
    # 把目录下的内容都复制到当前目录下
    COPY . .
    
    ENV ASPNETCORE_URLS http://+:10957
    # 暴露端口
    EXPOSE 10957
    #程序入口
    ENTRYPOINT ["dotnet", "Wcg.FileService.dll"]
  4. 发布项目,选择项目右键发布,点击发布,成功后进入发布的文件夹 

     

  5. 将发布文件夹打包上传到Linux服务器中
  6. cd到发布的文件夹,解压文件,然后进入文件夹

     

     

     

  7.  在有Dockerfile文件的文件夹下生成Docker镜像

     

     

  8. 生成完镜像后,就可以通过镜像创建容器并将项目跑起来了

     

     

  9. 最终测试一下就OK了

     

     

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值