From e49ec42f30ff37e588c81b1d59381d195aafede4 Mon Sep 17 00:00:00 2001 From: Jeff Leung Date: Fri, 5 Jan 2024 15:58:28 -0800 Subject: [PATCH] Switch to Alpine Linux and enable multiarch builds --- AS1024.GeoFeed/Dockerfile | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/AS1024.GeoFeed/Dockerfile b/AS1024.GeoFeed/Dockerfile index 04fbf23..f0fd5bc 100644 --- a/AS1024.GeoFeed/Dockerfile +++ b/AS1024.GeoFeed/Dockerfile @@ -1,22 +1,24 @@ #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:8.0 AS base +FROM mcr.microsoft.com/dotnet/aspnet:8.0-alpine AS base USER app WORKDIR /app EXPOSE 8080 -FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build +FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:8.0-alpine AS build ARG BUILD_CONFIGURATION=Release +ARG TARGETARCH WORKDIR /src COPY ["AS1024.GeoFeed/AS1024.GeoFeed.csproj", "AS1024.GeoFeed/"] -RUN dotnet restore "./AS1024.GeoFeed/./AS1024.GeoFeed.csproj" +RUN dotnet restore "./AS1024.GeoFeed/./AS1024.GeoFeed.csproj" -a $TARGETARCH COPY . . WORKDIR "/src/AS1024.GeoFeed" -RUN dotnet build "./AS1024.GeoFeed.csproj" -c $BUILD_CONFIGURATION -o /app/build +RUN dotnet build "./AS1024.GeoFeed.csproj" -c $BUILD_CONFIGURATION -o /app/build -a $TARGETARCH -FROM build AS publish +FROM --platform=$BUILDPLATFORM build AS publish ARG BUILD_CONFIGURATION=Release -RUN dotnet publish "./AS1024.GeoFeed.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false +ARG TARGETARCH +RUN dotnet publish "./AS1024.GeoFeed.csproj" -c $BUILD_CONFIGURATION -o /app/publish -a $TARGETARCH /p:UseAppHost=false FROM base AS final WORKDIR /app