.Net项目部署到Docker
环境
- linux
- docker
- .Net 7
步骤
- 编写Dockerfile
- 上传项目文件到linux
- 运行项目文件到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
调用接口
这样显示就是调通了