【发布时间】:2022-01-26 13:36:29
【问题描述】:
我有一个 .NET 微服务作为 docker 容器运行,负责向客户发送电子邮件。这些电子邮件包含额外的横幅,它是一个 png 文件。
在构建过程中,该文件是否应该包含在我的 Docker 映像中?这是一个好习惯吗?
将文件上传到已构建的容器或链接存储在不同位置的文件是更好的方法吗?
Dockerfile
FROM mcr.microsoft.com/dotnet/aspnet:5.0-buster-slim AS base
WORKDIR /app
EXPOSE 80
FROM mcr.microsoft.com/dotnet/sdk:5.0-buster-slim AS build
WORKDIR /src
COPY src/Email.Service/Email.Service.csproj .
COPY nuget.config .
RUN dotnet restore Email.Service.csproj --configfile nuget.config
COPY src/Email.Service .
RUN dotnet build Email.Service.csproj -c Release -o /app
FROM build AS publish
RUN dotnet publish Email.Service.csproj -c Release -o /app
FROM base AS final
WORKDIR /app
COPY --from=publish /app .
COPY src/Email.Service/Assets Assets
ENTRYPOINT [ "dotnet" ]
CMD [ "Email.Service.dll" ]
banner.png 位于项目的 Assets 目录中。
【问题讨论】:
标签: c# .net docker image dockerfile