From e97d0bf1a247b4d71c533a66ef00181a4610c268 Mon Sep 17 00:00:00 2001 From: Nikola Milosavljevic Date: Thu, 23 May 2024 15:34:55 -0700 Subject: [PATCH 1/3] Add ORAS tool to Linux ImageBuilder images --- src/Microsoft.DotNet.ImageBuilder/Dockerfile.linux | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/Microsoft.DotNet.ImageBuilder/Dockerfile.linux b/src/Microsoft.DotNet.ImageBuilder/Dockerfile.linux index 4ef6d05a..fd2750bb 100644 --- a/src/Microsoft.DotNet.ImageBuilder/Dockerfile.linux +++ b/src/Microsoft.DotNet.ImageBuilder/Dockerfile.linux @@ -16,6 +16,11 @@ RUN dotnet restore -r linux-musl-$TARGETARCH ./src/Microsoft.DotNet.ImageBuilder COPY . ./ RUN dotnet publish -r linux-musl-$TARGETARCH ./src/Microsoft.DotNet.ImageBuilder.csproj --self-contained=true --no-restore -o out +# download oras package tarball +WORKDIR / +RUN oras_version=1.1.0 \ + && wget https://github.com/oras-project/oras/releases/download/v${oras_version}/oras_${oras_version}_linux_${TARGETARCH}.tar.gz -O oras_linux.tar.gz + # build runtime image FROM mcr.microsoft.com/dotnet/runtime-deps:8.0-alpine @@ -29,4 +34,11 @@ RUN apk add --no-cache \ WORKDIR /image-builder COPY --from=build-env /image-builder/out ./ +# install oras tool +COPY --from=build-env /oras_linux.tar.gz ./ +RUN mkdir -p oras-install/ \ + && tar -zxf oras_linux.tar.gz -C oras-install/ \ + && mv oras-install/oras /usr/local/bin/ \ + && rm -rf oras_linux.tar.gz oras-install/ + ENTRYPOINT ["/image-builder/Microsoft.DotNet.ImageBuilder"] From cbb48eb0f73ecf36c217084064cb4d4bf5b9bdf2 Mon Sep 17 00:00:00 2001 From: Nikola Milosavljevic Date: Fri, 24 May 2024 11:44:52 -0700 Subject: [PATCH 2/3] Move extraction steps to tbe build stage --- src/Microsoft.DotNet.ImageBuilder/Dockerfile.linux | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/Microsoft.DotNet.ImageBuilder/Dockerfile.linux b/src/Microsoft.DotNet.ImageBuilder/Dockerfile.linux index fd2750bb..cd1b24c4 100644 --- a/src/Microsoft.DotNet.ImageBuilder/Dockerfile.linux +++ b/src/Microsoft.DotNet.ImageBuilder/Dockerfile.linux @@ -19,7 +19,10 @@ RUN dotnet publish -r linux-musl-$TARGETARCH ./src/Microsoft.DotNet.ImageBuilder # download oras package tarball WORKDIR / RUN oras_version=1.1.0 \ - && wget https://github.com/oras-project/oras/releases/download/v${oras_version}/oras_${oras_version}_linux_${TARGETARCH}.tar.gz -O oras_linux.tar.gz + && wget https://github.com/oras-project/oras/releases/download/v${oras_version}/oras_${oras_version}_linux_${TARGETARCH}.tar.gz -O oras_linux.tar.gz \ + && mkdir -p oras-install/ \ + && tar -zxf oras_linux.tar.gz -C oras-install/ \ + && rm -rf oras_linux.tar.gz # build runtime image @@ -35,10 +38,7 @@ WORKDIR /image-builder COPY --from=build-env /image-builder/out ./ # install oras tool -COPY --from=build-env /oras_linux.tar.gz ./ -RUN mkdir -p oras-install/ \ - && tar -zxf oras_linux.tar.gz -C oras-install/ \ - && mv oras-install/oras /usr/local/bin/ \ - && rm -rf oras_linux.tar.gz oras-install/ +WORKDIR /usr/local/bin +COPY --from=build-env /oras-install/oras ./ ENTRYPOINT ["/image-builder/Microsoft.DotNet.ImageBuilder"] From 5c7dd9cf267b5ec8c89e33459ff1b67cb54c7841 Mon Sep 17 00:00:00 2001 From: Nikola Milosavljevic Date: Fri, 24 May 2024 16:06:10 -0700 Subject: [PATCH 3/3] Update src/Microsoft.DotNet.ImageBuilder/Dockerfile.linux Co-authored-by: Logan Bussell --- src/Microsoft.DotNet.ImageBuilder/Dockerfile.linux | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/Microsoft.DotNet.ImageBuilder/Dockerfile.linux b/src/Microsoft.DotNet.ImageBuilder/Dockerfile.linux index cd1b24c4..ba461d89 100644 --- a/src/Microsoft.DotNet.ImageBuilder/Dockerfile.linux +++ b/src/Microsoft.DotNet.ImageBuilder/Dockerfile.linux @@ -38,7 +38,6 @@ WORKDIR /image-builder COPY --from=build-env /image-builder/out ./ # install oras tool -WORKDIR /usr/local/bin -COPY --from=build-env /oras-install/oras ./ +COPY --from=build-env ["/oras-install/oras", "/usr/local/bin"] ENTRYPOINT ["/image-builder/Microsoft.DotNet.ImageBuilder"]