创建包含 .net core sdk 的镜像并在镜像内安装自定义模板

Create an image containing .net core sdk and install custom templates inside the image

我正在使用 visual studio 控制台应用程序和 docker 文件创建一个 docker 图像,如下所示:

FROM mcr.microsoft.com/dotnet/sdk:5.0 AS base
RUN dotnet new --install MyCustomTemplate::1.0.0
WORKDIR /app
    
FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build
WORKDIR /src
COPY ["DockerTemplates/DockerTemplates.csproj", "DockerTemplates/"]
RUN dotnet restore "DockerTemplates/DockerTemplates.csproj"
COPY . .
WORKDIR "/src/DockerTemplates"
RUN dotnet build "DockerTemplates.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "DockerTemplates.csproj" -c Release -o /app/publish

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "DockerTemplates.dll"]

从 sdk 创建图像后,我调用了命令来使用以下命令安装自定义模板:

RUN dotnet new --install MyCustomTemplate::1.0.0

但是创建图像后,我在 docker 图像中找不到我的自定义模板。

如何在创建图像的过程中在图像中安装自定义模板?有人可以帮忙吗?

谢谢

我尝试复制但不能。

Docker 文件

FROM mcr.microsoft.com/dotnet/sdk:5.0
RUN dotnet new --install Amazon.Lambda.Templates::5.5.0

命令

docker build -t test .
docker run --rm test dotnet new --list

列出标准模板 + 新模板