.Net 9 webapi使用Docker部署到Linux
参考文章连接:
https://www.cnblogs.com/kong-ming/p/16278109.html
.Net 6.0 WebApi 使用Docker部署到Linux系统CentOS 7 - 长白山 - 博客园
项目需要跨平台部署,所以就研究了一下菜鸟如何入门Net跨平台部署,演示使用的是Net 9 webAPi +Linux 的CentOS
首先,创建.Net 9 webAPI 项目,详细参考上述连接,项目右键->添加->Docker支持,正常情况下是会自动生成Dockerfile文件的,但是不知道什么原因,我这样操作没有自动生成,试了.NET 8 是版本的是可以的,我就从.Net 8 里把dockerfile文件复制过来,也可以手动创建,程序编译发布之后可以正常运行。
自动生成的内容如下图,是代码和Docker在同一个服务器上时运行编译的脚本,通常我们是在windows电脑上使用VS直接项目右键->发布->文件夹的形式发布,然后把编译文件复制到目标平台上去打包镜像并运行容器
所以我们需要把dockerfile文件改为如下内容:
# 使用官方的 .NET 9.0 SDK 镜像作为基础镜像FROM mcr.microsoft.com/dotnet/aspnet:9.0 AS base# 暴露端口EXPOSE 9901# WORKDIR 镜像的工作目录WORKDIR /app# 复制文件COPY . .# 定义启动命令ENTRYPOINT ["dotnet", "TestDockerPublish_net9.dll","--urls=http://0.0.0.0:8080"]
然后把发布的文件复制到Linux系统上去之后,正常打包、启动容器即可