FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base
WORKDIR /app
# 一般情况下必须开放 docker容器默认暴露80端口
EXPOSE 80
# 如果使用https,记得打开443端口,但是一般不用
EXPOSE 5322
ENV ASPNETCORE_URLS=http://*:5322
ENV ASPNETCORE_HTTP_PORTS=""
COPY . ./
# 安装Nginx
FROM nginx:alpine
COPY --from=base /usr/local/bin/dotnet /usr/local/bin/
COPY --from=base /app/out /app/
WORKDIR /app
COPY ./nginx.conf /etc/nginx/nginx.conf
# 启动Nginx和.NET Core 应用
CMD ["nginx", "-g", "daemon off;"]
ENTRYPOINT ["dotnet", "API.dll"]
docker创建镜像
docker rmi -f (docker ps -aq) -f docker build -t my_nl . docker run -d -p 5322:5322 --restart always --name my_nl my_nl
docker run -d -p 5322:5322 --name my_nl my_nl Docker守护进程启动时自动启动 --restart always docker run -d -p 5322:5322 --restart always --name my_nl my_nl