diff --git a/docker/Dockerfile-alpine-3.20 b/docker/Dockerfile-alpine-3.21 similarity index 94% rename from docker/Dockerfile-alpine-3.20 rename to docker/Dockerfile-alpine-3.21 index d7419e34b6a5..4b1404934382 100644 --- a/docker/Dockerfile-alpine-3.20 +++ b/docker/Dockerfile-alpine-3.21 @@ -1,4 +1,4 @@ -FROM mcr.microsoft.com/powershell:alpine-3.20 +FROM mcr.microsoft.com/dotnet/sdk:9.0-alpine3.21 RUN apk update && apk upgrade --no-cache ARG REPOSITORY=PSGallery @@ -11,9 +11,9 @@ ARG BUILD_DATE= ARG VERSION= ARG LATEST= ARG BLOB_URL= -ARG IMAGE_NAME=mcr.microsoft.com/azure-powershell:${VERSION}-alpine-3.20 +ARG IMAGE_NAME=mcr.microsoft.com/azure-powershell:${VERSION}-alpine-3.21 -ENV AZUREPS_HOST_ENVIRONMENT="dockerImage/${VERSION}-alpine-3.20" +ENV AZUREPS_HOST_ENVIRONMENT="dockerImage/${VERSION}-alpine-3.21" LABEL maintainer="Azure PowerShell Team " \ readme.md="http://aka.ms/azpsdockerreadme" \ diff --git a/docker/Dockerfile-ubi-8 b/docker/Dockerfile-alpine-3.22 similarity index 50% rename from docker/Dockerfile-ubi-8 rename to docker/Dockerfile-alpine-3.22 index 3b3fd3bef8d4..e13462cfd44c 100644 --- a/docker/Dockerfile-ubi-8 +++ b/docker/Dockerfile-alpine-3.22 @@ -1,5 +1,5 @@ -FROM mcr.microsoft.com/powershell:ubi-8 -RUN yum update -y && yum clean all +FROM mcr.microsoft.com/dotnet/sdk:9.0-alpine3.22 +RUN apk update && apk upgrade --no-cache ARG REPOSITORY=PSGallery ARG MODULE=Az @@ -11,26 +11,26 @@ ARG BUILD_DATE= ARG VERSION= ARG LATEST= ARG BLOB_URL= -ARG IMAGE_NAME=mcr.microsoft.com/azure-powershell:${VERSION}-ubi-8 +ARG IMAGE_NAME=mcr.microsoft.com/azure-powershell:${VERSION}-alpine-3.22 -ENV AZUREPS_HOST_ENVIRONMENT="dockerImage/${VERSION}-ubi-8" +ENV AZUREPS_HOST_ENVIRONMENT="dockerImage/${VERSION}-alpine-3.22" LABEL maintainer="Azure PowerShell Team " \ - readme.md="http://aka.ms/azpsdockerreadme" \ - description="This Dockerfile will install the latest release of Azure PowerShell." \ - org.label-schema.build-date=${BUILD_DATE} \ - org.label-schema.usage="http://aka.ms/azpsdocker" \ - org.label-schema.url="http://aka.ms/azpsdockerreadme" \ - org.label-schema.vcs-url="https://github.com/Azure/azure-powershell" \ - org.label-schema.name="azure powershell" \ - org.label-schema.vendor="Azure PowerShell" \ - org.label-schema.version=${VERSION} \ - org.label-schema.schema-version="1.0" \ - org.label-schema.vcs-ref=${VCS_REF} \ - org.label-schema.docker.cmd="docker run --rm ${IMAGE_NAME} pwsh -c '\$PSVERSIONTABLE'" \ - org.label-schema.docker.cmd.devel="docker run -it --rm -e 'DebugPreference=Continue' ${IMAGE_NAME} pwsh" \ - org.label-schema.docker.cmd.test="currently not available" \ - org.label-schema.docker.cmd.help="docker run --rm ${IMAGE_NAME} pwsh -c Get-Help" + readme.md="http://aka.ms/azpsdockerreadme" \ + description="This Dockerfile will install the latest release of Azure PowerShell." \ + org.label-schema.build-date=${BUILD_DATE} \ + org.label-schema.usage="http://aka.ms/azpsdocker" \ + org.label-schema.url="http://aka.ms/azpsdockerreadme" \ + org.label-schema.vcs-url="https://github.com/Azure/azure-powershell" \ + org.label-schema.name="azure powershell" \ + org.label-schema.vendor="Azure PowerShell" \ + org.label-schema.version=${VERSION} \ + org.label-schema.schema-version="1.0" \ + org.label-schema.vcs-ref=${VCS_REF} \ + org.label-schema.docker.cmd="docker run --rm ${IMAGE_NAME} pwsh -c '\$PSVERSIONTABLE'" \ + org.label-schema.docker.cmd.devel="docker run -it --rm -e 'DebugPreference=Continue' ${IMAGE_NAME} pwsh" \ + org.label-schema.docker.cmd.test="currently not available" \ + org.label-schema.docker.cmd.help="docker run --rm ${IMAGE_NAME} pwsh -c Get-Help" RUN if [ "${LATEST}" = True ] ; then \ # install latest azure-powershell from BLOB diff --git a/docker/Dockerfile-azurelinux-3.0 b/docker/Dockerfile-azurelinux-3.0 index 9139ee224e2f..4b22ebe3fa8f 100644 --- a/docker/Dockerfile-azurelinux-3.0 +++ b/docker/Dockerfile-azurelinux-3.0 @@ -1,5 +1,5 @@ -FROM mcr.microsoft.com/powershell:azurelinux-3.0 -RUN tdnf update -y && tdnf upgrade -y && tdnf clean all +FROM mcr.microsoft.com/dotnet/sdk:9.0-azurelinux3.0 +RUN tdnf update -y && tdnf upgrade -y && tdnf install -y tar gzip && tdnf clean all ARG REPOSITORY=PSGallery ARG MODULE=Az diff --git a/docker/Dockerfile-azurelinux-3.0-arm64 b/docker/Dockerfile-azurelinux-3.0-arm64 index bbe4643b8c00..ef5d90ae11a7 100644 --- a/docker/Dockerfile-azurelinux-3.0-arm64 +++ b/docker/Dockerfile-azurelinux-3.0-arm64 @@ -1,5 +1,5 @@ -FROM mcr.microsoft.com/powershell:azurelinux-3.0-arm64 -RUN tdnf update -y && tdnf upgrade -y && tdnf clean all +FROM mcr.microsoft.com/dotnet/sdk:9.0-azurelinux3.0-arm64v8 +RUN tdnf update -y && tdnf upgrade -y && tdnf install -y tar gzip && tdnf clean all ARG REPOSITORY=PSGallery ARG MODULE=Az @@ -13,7 +13,7 @@ ARG LATEST= ARG BLOB_URL= ARG IMAGE_NAME=mcr.microsoft.com/azure-powershell:${VERSION}-azurelinux-3.0-arm64 -ENV AZUREPS_HOST_ENVIRONMENT="dockerImage/${VERSION}-azurelinux-3.0" +ENV AZUREPS_HOST_ENVIRONMENT="dockerImage/${VERSION}-azurelinux-3.0-arm64" LABEL maintainer="Azure PowerShell Team " \ readme.md="http://aka.ms/azpsdockerreadme" \ diff --git a/docker/Dockerfile-debian-12 b/docker/Dockerfile-debian-12 index e506274a9523..9e29dd559a0f 100644 --- a/docker/Dockerfile-debian-12 +++ b/docker/Dockerfile-debian-12 @@ -1,4 +1,4 @@ -FROM mcr.microsoft.com/powershell:debian-12 +FROM mcr.microsoft.com/dotnet/sdk:9.0-bookworm-slim RUN apt-get update && apt-get upgrade -y && apt-get clean && rm -rf /var/lib/apt/lists/* ARG REPOSITORY=PSGallery diff --git a/docker/Dockerfile-ubi-9 b/docker/Dockerfile-ubi-9 deleted file mode 100644 index 9217a80d1ea2..000000000000 --- a/docker/Dockerfile-ubi-9 +++ /dev/null @@ -1,53 +0,0 @@ -FROM mcr.microsoft.com/powershell:ubi-9 -RUN dnf update -y && dnf clean all - -ARG REPOSITORY=PSGallery -ARG MODULE=Az -ARG CONFIG=config -ARG AZURERM_CONTEXT_SETTINGS=AzureRmContextSettings.json -ARG AZURE=/root/.Azure -ARG VCS_REF="none" -ARG BUILD_DATE= -ARG VERSION= -ARG LATEST= -ARG BLOB_URL= -ARG IMAGE_NAME=mcr.microsoft.com/azure-powershell:${VERSION}-ubi-9 - -ENV AZUREPS_HOST_ENVIRONMENT="dockerImage/${VERSION}-ubi-9" - -LABEL maintainer="Azure PowerShell Team " \ - readme.md="http://aka.ms/azpsdockerreadme" \ - description="This Dockerfile will install the latest release of Azure PowerShell." \ - org.label-schema.build-date=${BUILD_DATE} \ - org.label-schema.usage="http://aka.ms/azpsdocker" \ - org.label-schema.url="http://aka.ms/azpsdockerreadme" \ - org.label-schema.vcs-url="https://github.com/Azure/azure-powershell" \ - org.label-schema.name="azure powershell" \ - org.label-schema.vendor="Azure PowerShell" \ - org.label-schema.version=${VERSION} \ - org.label-schema.schema-version="1.0" \ - org.label-schema.vcs-ref=${VCS_REF} \ - org.label-schema.docker.cmd="docker run --rm ${IMAGE_NAME} pwsh -c '\$PSVERSIONTABLE'" \ - org.label-schema.docker.cmd.devel="docker run -it --rm -e 'DebugPreference=Continue' ${IMAGE_NAME} pwsh" \ - org.label-schema.docker.cmd.test="currently not available" \ - org.label-schema.docker.cmd.help="docker run --rm ${IMAGE_NAME} pwsh -c Get-Help" - -RUN if [ "${LATEST}" = True ] ; then \ - # install latest azure-powershell from BLOB - pwsh -Command Invoke-WebRequest -uri ${BLOB_URL} -OutFile latest.tar.gz && \ - mkdir latest && \ - tar -zxvf ./latest.tar.gz -C ./latest && \ - pwsh -Command ./latest/InstallModule.ps1 -Scope AllUsers &&\ - rm -fr latest &&\ - rm -f latest.tar.gz ;\ - else \ - # install old azure-powershell from PSGallery - pwsh -Command Set-PSRepository -Name ${REPOSITORY} -InstallationPolicy Trusted && \ - pwsh -Command Install-Module -Name ${MODULE} -RequiredVersion ${VERSION} -Scope AllUsers -Repository ${REPOSITORY} && \ - pwsh -Command Set-PSRepository -Name ${REPOSITORY} -InstallationPolicy Untrusted ;\ - fi - -# create AzureRmContextSettings.json before it was generated -COPY ${CONFIG}/${AZURERM_CONTEXT_SETTINGS} ${AZURE}/${AZURERM_CONTEXT_SETTINGS} - -CMD [ "pwsh" ] diff --git a/docker/Dockerfile-ubuntu-22.04 b/docker/Dockerfile-ubuntu-22.04 deleted file mode 100644 index 659e662a6b6b..000000000000 --- a/docker/Dockerfile-ubuntu-22.04 +++ /dev/null @@ -1,54 +0,0 @@ -FROM mcr.microsoft.com/powershell:ubuntu-22.04 -RUN apt-get update && apt-get upgrade -y && apt-get clean && rm -rf /var/lib/apt/lists/* - -ARG REPOSITORY=PSGallery -ARG MODULE=Az -ARG CONFIG=config -ARG AZURERM_CONTEXT_SETTINGS=AzureRmContextSettings.json -ARG AZURE=/root/.Azure -ARG VCS_REF="none" -ARG BUILD_DATE= -ARG VERSION= -ARG LATEST= -ARG BLOB_URL= -ARG IMAGE_NAME=mcr.microsoft.com/azure-powershell:${VERSION}-ubuntu-22.04 - -ENV AZUREPS_HOST_ENVIRONMENT="dockerImage/${VERSION}-ubuntu-22.04" - -LABEL maintainer="Azure PowerShell Team " \ - readme.md="http://aka.ms/azpsdockerreadme" \ - description="This Dockerfile will install the latest release of Azure PowerShell." \ - org.label-schema.build-date=${BUILD_DATE} \ - org.label-schema.usage="http://aka.ms/azpsdocker" \ - org.label-schema.url="http://aka.ms/azpsdockerreadme" \ - org.label-schema.vcs-url="https://github.com/Azure/azure-powershell" \ - org.label-schema.name="azure powershell" \ - org.label-schema.vendor="Azure PowerShell" \ - org.label-schema.version=${VERSION} \ - org.label-schema.schema-version="1.0" \ - org.label-schema.vcs-ref=${VCS_REF} \ - org.label-schema.docker.cmd="docker run --rm ${IMAGE_NAME} pwsh -c '\$PSVERSIONTABLE'" \ - org.label-schema.docker.cmd.devel="docker run -it --rm -e 'DebugPreference=Continue' ${IMAGE_NAME} pwsh" \ - org.label-schema.docker.cmd.test="currently not available" \ - org.label-schema.docker.cmd.help="docker run --rm ${IMAGE_NAME} pwsh -c Get-Help" - -RUN if [ "${LATEST}" = True ] ; then \ - # install latest azure-powershell from BLOB - pwsh -Command Invoke-WebRequest -uri ${BLOB_URL} -OutFile latest.tar.gz && \ - mkdir latest && \ - tar -zxvf ./latest.tar.gz -C ./latest && \ - pwsh -Command ./latest/InstallModule.ps1 -Scope AllUsers;\ - rm -fr latest &&\ - rm -f latest.tar.gz ;\ - else \ - # install old azure-powershell from PSGallery - pwsh -Command Set-PSRepository -Name ${REPOSITORY} -InstallationPolicy Trusted && \ - pwsh -Command Install-Module -Name ${MODULE} -RequiredVersion ${VERSION} -Scope AllUsers -Repository ${REPOSITORY} && \ - pwsh -Command Set-PSRepository -Name ${REPOSITORY} -InstallationPolicy Untrusted ;\ - fi - - -# create AzureRmContextSettings.json before it was generated -COPY ${CONFIG}/${AZURERM_CONTEXT_SETTINGS} ${AZURE}/${AZURERM_CONTEXT_SETTINGS} - -CMD [ "pwsh" ] \ No newline at end of file diff --git a/docker/Dockerfile-ubuntu-24.04 b/docker/Dockerfile-ubuntu-24.04 index 2203e664ccaa..8529ab0541e1 100644 --- a/docker/Dockerfile-ubuntu-24.04 +++ b/docker/Dockerfile-ubuntu-24.04 @@ -1,4 +1,4 @@ -FROM mcr.microsoft.com/powershell:ubuntu-24.04 +FROM mcr.microsoft.com/dotnet/sdk:9.0-noble RUN apt-get update && apt-get upgrade -y && apt-get clean && rm -rf /var/lib/apt/lists/* ARG REPOSITORY=PSGallery