首页 > 其他分享 >.Net项目部署到Docker

.Net项目部署到Docker

时间:2024-03-05 16:55:05浏览次数:26  
标签:1040 部署 Dockerfile blog build dotnet docker Docker Net

.Net项目部署到Docker

环境

  • linux
  • docker
  • .Net 7

步骤

  1. 编写Dockerfile
  2. 上传项目文件到linux
  3. 运行项目文件到docker

一、设置项目端口

Program.cs文件设置端口

 builder.WebHost.UseUrls("http://*:1040");//单个设置

二、添加Dockerfile文件

点击Docker支持,会弹框选择linux版本,这是会生成一个Dockerfile文件

以下为Dockerfile文件内容

Dockerfile

添加EXPOSE 1040 # 暴露的端口,与项目的端口一致

#See https://aka.ms/customizecontainer to learn how to customize your debug container and how Visual Studio uses this Dockerfile to build your images for faster debugging.

FROM mcr.microsoft.com/dotnet/aspnet:7.0 AS base
WORKDIR /app 
EXPOSE 1040 # 暴露的端口,与项目的端口一致

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

FROM build AS publish
RUN dotnet publish "blog.csproj" -c Release -o /app/publish /p:UseAppHost=false

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

三、把项目上传至linux

Xftp上传或者代码上传都可

我的在这文件中

四、运行项目到Docker

# 进入项目目录
cd blog

#创建docker镜像
docker build -t dotnetapitest 

docker run --name dotnetapitest -p 1040:1040 -d dotnetapitest

# 查看日志信息
docker logs --tail=1000 dotnetapitest

# 查看运行的容器
docker ps

五、访问项目

调用:http://xxxx:1040/

xxxx为自己服务器的ip地址

我这用postman调用接口

这样显示就是调通了

到这里把.net项目部署到docker就完成了

标签:1040,部署,Dockerfile,blog,build,dotnet,docker,Docker,Net
From: https://www.cnblogs.com/zbfoot/p/18054402

相关文章

  • 在IDEA中实现热部署
    什么是热部署?热部署(HotDeployment)是指在应用程序运行过程中,无需停止整个应用程序或重新启动服务器,就能够部署新的代码、资源或配置文件,使其立即生效。这种部署方式有助于提高开发效率和系统的可用性。有了热部署之后,当修改了代码的某部分,无需重新启动项目,就能把增量的内容自动......
  • c# .net winfrom sunnyui的RichTextBox TextBox的KeyPress和KeyDown对Enter按钮无效处
    效果图: 在此之前感谢博主,winform无法屏蔽回车事件、KeyPress事件不执行问题解决-CSDN博客根据该大佬的方式,需处理添加回车事件处理,便继承了RichTextBox重写该方法,且执行了执行事件publicsealedclassMyUIRichTextBox:UIRichTextBox{publicboolLastRow=false;......
  • .Net Core(七) 管道和中间件
    简介管道.NETCore中的管道是一个用于处理HTTP请求的组件。它是ASP.NETCore应用程序的核心部分,负责将传入的HTTP请求传递给适当的处理程序并生成响应。管道由一系列中间件组成,每个中间件都可以对请求或响应进行操作,然后将其传递给下一个中间件或终止请求处理。中间件......
  • 记一次部署vika源码以及安装Falsk框架到linux服务器
    前言接受到需求,需要把python项目vika的源码修改部分内容后,部署到服务器,然后再安装一个python的快速开发框架Falsk。部署vika1.什么是vika?Vika PythonSDK是对维格表FusionAPI的官方封装,提供类似DjangoORM风格的API。2.下载源码前往源码地址(https://github.com/vikadat......
  • Windows环境下Pytorch项目搭建在Docker中运行
    Windows环境下Pytorch项目搭建在Docker中运行1.安装windows版本的Docker​ 网上已有诸多博客教程,这里就不再赘述。2.搭建本地Pytorch环境​ 搭建本地Pytorch环境的方式我使用了两种方式,推荐使用第一种。​ 第一种:​ (1)在dockerhub中(https://hub.docker.com),找到自己版本......
  • CentOS 7单机部署 Redis 主从复制
    下面是一个完整的、步骤明确的指南,包括如何在CentOS7上以非root用户(在本例中为appworker,属于appworkergroup组)安装和配置Redis主从复制,设置目录权限,以及进行基本的连接测试和维护操作。1.环境准备创建用户和组sudogroupaddappworkergroup#创建一个名为appw......
  • Docker多容器和通信搭建(二)
    前言前面介绍了Docker容器的基础服务搭建,对于Docker容器来说一般都是多个容器项目运行在服务器上。所以这篇主要讲述多容器之间的交互,以及宿主与容器之间的交互问题。一、部署多容器接着以Nginx为例,部署多个Nginx容器进行测试。~]#dockerrun-d--namenginx-p80......
  • linux下的java部署
    jar命令简介java部署jar包可以使用java-jar命令,比如:java-jardemo.jar执行上述命令后,JAR包中的程序将在Linux系统中运行。注:在运行JAR包之前,确保你的JAR文件是可执行的,并且包含了正确的类和依赖项。如果JAR包依赖于其他库或配置文件,确保它们也在正确的位置可用。......
  • 半自动化部署脚本
    #!/bin/shecho===============================================================echo欢迎使用【XXXX】---自动化部署脚本启动echo===============================================================echo即将为您部署系统应用...sleep1APP_NAME=XXXCODE_PATH=/tmp/p......
  • AI应用开发之路-准备:发起一个开源小项目 DashScope SDK for .NET
    今年我们有一个眼高手低的计划,打算基于SemanticKernel+DashScope(阿里云模型服务灵积)+Qwen(通义千问大模型),结合园子已有的产品与应用场景,开发面向开发者的AI应用,并将整个过程与大家分享。目前处于准备阶段,这篇博文分享的是遇到的第一个问题,并由此发起一个小开源项目......