.netcore比较通用的dockerfile
·
# 构建阶段
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
WORKDIR /src
# 复制整个项目结构
COPY . .
# 进入ZsmAdmin.Web.Entry目录
WORKDIR /src/ZsmAdmin.Web.Entry
# 还原依赖项
RUN dotnet restore
# 构建项目
RUN dotnet build -c Release -o /app/build
# 发布项目
FROM build AS publish
WORKDIR /src/ZsmAdmin.Web.Entry
RUN dotnet publish -c Release -o /app/publish --framework net8.0
# 运行阶段
FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base
WORKDIR /app
EXPOSE 5005
# 复制发布文件
COPY --from=publish /app/publish .
# 设置语言/区域设置环境变量
ENV LANG=zh-Hans
ENV ASPNETCORE_ENVIRONMENT=Production
# 使用阿里云的镜像源进行更新
RUN sed -i 's/deb.debian.org/mirrors.aliyun.com/' /etc/apt/sources.list.d/debian.sources
# 更新包管理器并安装free命令
RUN apt-get update && apt-get install -y procps
ENTRYPOINT ["dotnet", "ZsmAdmin.Web.Entry.dll"]
更多推荐
所有评论(0)