Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions docker/.gitignore

This file was deleted.

4 changes: 2 additions & 2 deletions docker/InstallTarballPackage.sh
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ then
usage
fi

POWERSHELL_LINKFILE=/usr/bin/powershell
POWERSHELL_LINKFILE=/usr/bin/pwsh

# Download the powershell .tar.gz package
curl -L -o /tmp/powershell.tar.gz https://github.com/PowerShell/PowerShell/releases/download/v$POWERSHELL_VERSION/$POWERSHELL_PACKAGE
Expand All @@ -35,7 +35,7 @@ mkdir -p /opt/microsoft/powershell/$POWERSHELL_VERSION
tar zxf /tmp/powershell.tar.gz -C /opt/microsoft/powershell/$POWERSHELL_VERSION

# Create the symbolic link that points to powershell
ln -s /opt/microsoft/powershell/$POWERSHELL_VERSION/powershell $POWERSHELL_LINKFILE
ln -s /opt/microsoft/powershell/$POWERSHELL_VERSION/pwsh $POWERSHELL_LINKFILE
# Add the symbolic link path to /etc/shells
if [ ! -f /etc/shells ] ; then
echo $POWERSHELL_LINKFILE > /etc/shells ;
Expand Down
8 changes: 4 additions & 4 deletions docker/community/amazonlinux/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,10 @@ LABEL maintainer="PowerShell Team <powershellteam@hotmail.com>" \
org.label-schema.vendor="PowerShell" \
org.label-schema.version=${POWERSHELL_VERSION} \
org.label-schema.schema-version="1.0" \
org.label-schema.docker.cmd="docker run ${IMAGE_NAME} powershell -c '$psversiontable'" \
org.label-schema.docker.cmd="docker run ${IMAGE_NAME} pwsh -c '$psversiontable'" \
org.label-schema.docker.cmd.devel="docker run ${IMAGE_NAME}" \
org.label-schema.docker.cmd.test="docker run ${IMAGE_NAME} powershell -c Invoke-Pester" \
org.label-schema.docker.cmd.help="docker run ${IMAGE_NAME} powershell -c Get-Help"
org.label-schema.docker.cmd.test="docker run ${IMAGE_NAME} pwsh -c Invoke-Pester" \
org.label-schema.docker.cmd.help="docker run ${IMAGE_NAME} pwsh -c Get-Help"

# TODO: addd LABEL org.label-schema.vcs-ref=${VCS_REF}

Expand Down Expand Up @@ -52,4 +52,4 @@ RUN rm -f /InstallTarballPackage.sh

# Use PowerShell as the default shell
# Use array to avoid Docker prepending /bin/sh -c
CMD [ "powershell" ]
CMD [ "pwsh" ]
8 changes: 4 additions & 4 deletions docker/community/archlinux/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,12 @@ LABEL maintainer="PowerShell Community <powershellteam@hotmail.com>" \
org.label-schema.name="powershell" \
org.label-schema.vendor="PowerShell" \
org.label-schema.schema-version="1.0" \
org.label-schema.docker.cmd="docker run ${IMAGE_NAME} powershell -c '$psversiontable'" \
org.label-schema.docker.cmd="docker run ${IMAGE_NAME} pwsh -c '$psversiontable'" \
org.label-schema.docker.cmd.devel="docker run ${IMAGE_NAME}" \
org.label-schema.docker.cmd.test="docker run ${IMAGE_NAME} powershell -c Invoke-Pester" \
org.label-schema.docker.cmd.help="docker run ${IMAGE_NAME} powershell -c Get-Help"
org.label-schema.docker.cmd.test="docker run ${IMAGE_NAME} pwsh -c Invoke-Pester" \
org.label-schema.docker.cmd.help="docker run ${IMAGE_NAME} pwsh -c Get-Help"

COPY --from=build-env /build/powershell-bin/*.xz /powershell-package/
RUN ls /powershell-package/*
RUN pacman -Syu --noconfirm libunwind; \
pacman -U --noconfirm /powershell-package/*.xz
pacman -U --noconfirm /powershell-package/*.xz
8 changes: 4 additions & 4 deletions docker/release/centos7/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@ LABEL maintainer="PowerShell Team <powershellteam@hotmail.com>" \
org.label-schema.vendor="PowerShell" \
org.label-schema.version=${POWERSHELL_VERSION} \
org.label-schema.schema-version="1.0" \
org.label-schema.docker.cmd="docker run ${IMAGE_NAME} powershell -c '$psversiontable'" \
org.label-schema.docker.cmd="docker run ${IMAGE_NAME} pwsh -c '$psversiontable'" \
org.label-schema.docker.cmd.devel="docker run ${IMAGE_NAME}" \
org.label-schema.docker.cmd.test="docker run ${IMAGE_NAME} powershell -c Invoke-Pester" \
org.label-schema.docker.cmd.help="docker run ${IMAGE_NAME} powershell -c Get-Help"
org.label-schema.docker.cmd.test="docker run ${IMAGE_NAME} pwsh -c Invoke-Pester" \
org.label-schema.docker.cmd.help="docker run ${IMAGE_NAME} pwsh -c Get-Help"


# TODO: addd LABEL org.label-schema.vcs-ref=${VCS_REF}
Expand All @@ -42,4 +42,4 @@ RUN yum install -y \

# Use PowerShell as the default shell
# Use array to avoid Docker prepending /bin/sh -c
CMD [ "powershell" ]
CMD [ "pwsh" ]
8 changes: 4 additions & 4 deletions docker/release/fedora25/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@ LABEL maintainer="PowerShell Team <powershellteam@hotmail.com>" \
org.label-schema.vendor="PowerShell" \
org.label-schema.version=${POWERSHELL_VERSION} \
org.label-schema.schema-version="1.0" \
org.label-schema.docker.cmd="docker run ${IMAGE_NAME} powershell -c '$psversiontable'" \
org.label-schema.docker.cmd="docker run ${IMAGE_NAME} pwsh -c '$psversiontable'" \
org.label-schema.docker.cmd.devel="docker run ${IMAGE_NAME}" \
org.label-schema.docker.cmd.test="docker run ${IMAGE_NAME} powershell -c Invoke-Pester" \
org.label-schema.docker.cmd.help="docker run ${IMAGE_NAME} powershell -c Get-Help"
org.label-schema.docker.cmd.test="docker run ${IMAGE_NAME} pwsh -c Invoke-Pester" \
org.label-schema.docker.cmd.help="docker run ${IMAGE_NAME} pwsh -c Get-Help"

# TODO: addd LABEL org.label-schema.vcs-ref=${VCS_REF}

Expand All @@ -40,4 +40,4 @@ RUN curl https://packages.microsoft.com/config/rhel/7/prod.repo | tee /etc/yum.r
RUN dnf install -y powershell

# Use array to avoid Docker prepending /bin/sh -c
CMD [ "powershell" ]
CMD [ "pwsh" ]
8 changes: 4 additions & 4 deletions docker/release/fedora26/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@ LABEL maintainer="PowerShell Team <powershellteam@hotmail.com>" \
org.label-schema.vendor="PowerShell" \
org.label-schema.version=${POWERSHELL_VERSION} \
org.label-schema.schema-version="1.0" \
org.label-schema.docker.cmd="docker run ${IMAGE_NAME} powershell -c '$psversiontable'" \
org.label-schema.docker.cmd="docker run ${IMAGE_NAME} pwsh -c '$psversiontable'" \
org.label-schema.docker.cmd.devel="docker run ${IMAGE_NAME}" \
org.label-schema.docker.cmd.test="docker run ${IMAGE_NAME} powershell -c Invoke-Pester" \
org.label-schema.docker.cmd.help="docker run ${IMAGE_NAME} powershell -c Get-Help"
org.label-schema.docker.cmd.test="docker run ${IMAGE_NAME} pwsh -c Invoke-Pester" \
org.label-schema.docker.cmd.help="docker run ${IMAGE_NAME} pwsh -c Get-Help"

# TODO: addd LABEL org.label-schema.vcs-ref=${VCS_REF}

Expand All @@ -40,4 +40,4 @@ RUN curl https://packages.microsoft.com/config/rhel/7/prod.repo | tee /etc/yum.r
RUN dnf install -y powershell

# Use array to avoid Docker prepending /bin/sh -c
CMD [ "powershell" ]
CMD [ "pwsh" ]
12 changes: 6 additions & 6 deletions docker/release/nanoserver-insider/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -37,19 +37,19 @@ LABEL maintainer="PowerShell Team <powershellteam@hotmail.com>" `
org.label-schema.vendor="PowerShell" `
org.label-schema.version=${PS_VERSION} `
org.label-schema.schema-version="1.0" `
org.label-schema.docker.cmd="docker run ${IMAGE_NAME} powershell -c '$psversiontable'" `
org.label-schema.docker.cmd="docker run ${IMAGE_NAME} pwsh -c '$psversiontable'" `
org.label-schema.docker.cmd.devel="docker run ${IMAGE_NAME}" `
org.label-schema.docker.cmd.test="docker run ${IMAGE_NAME} powershell -c Invoke-Pester" `
org.label-schema.docker.cmd.help="docker run ${IMAGE_NAME} powershell -c Get-Help"
org.label-schema.docker.cmd.test="docker run ${IMAGE_NAME} pwsh -c Invoke-Pester" `
org.label-schema.docker.cmd.help="docker run ${IMAGE_NAME} pwsh -c Get-Help"

# Copy Powershell from the installer containter
# Copy Powershell Core from the installer containter
ENV ProgramFiles C:\Program Files
COPY --from=installer-env ["\\PowerShell\\", "$ProgramFiles\\PowerShell"]

# Persist %PSCORE% ENV variable for user convenience
ENV PSCORE="$ProgramFiles\PowerShell\PowerShell.exe"
ENV PSCORE="$ProgramFiles\PowerShell\pwsh.exe"

# Set the path
RUN setx PATH "%PATH%;%ProgramFiles%\PowerShell"

CMD ["PowerShell.exe"]
CMD ["pwsh.exe"]
16 changes: 8 additions & 8 deletions docker/release/nanoserver/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@ LABEL maintainer="PowerShell Team <powershellteam@hotmail.com>" `
org.label-schema.vendor="PowerShell" `
org.label-schema.version=${POWERSHELL_VERSION} `
org.label-schema.schema-version="1.0" `
org.label-schema.docker.cmd="docker run ${IMAGE_NAME} powershell -c '$psversiontable'" `
org.label-schema.docker.cmd="docker run ${IMAGE_NAME} pwsh -c '$psversiontable'" `
org.label-schema.docker.cmd.devel="docker run ${IMAGE_NAME}" `
org.label-schema.docker.cmd.test="docker run ${IMAGE_NAME} powershell -c Invoke-Pester" `
org.label-schema.docker.cmd.help="docker run ${IMAGE_NAME} powershell -c Get-Help"
org.label-schema.docker.cmd.test="docker run ${IMAGE_NAME} pwsh -c Invoke-Pester" `
org.label-schema.docker.cmd.help="docker run ${IMAGE_NAME} pwsh -c Get-Help"

# TODO: addd LABEL org.label-schema.vcs-ref=${VCS_REF}

Expand All @@ -41,13 +41,13 @@ RUN $ErrorActionPreference='Stop'; `
[System.IO.DirectoryInfo]$PsFolder=New-Item -Path $Env:ProgramFiles\PowerShell -ItemType Directory -Force ; `
Add-Type -AssemblyName System.IO.Compression.ZipFile ; `
[System.IO.Compression.ZipFile]::ExtractToDirectory($ZipFile,$PsFolder) ; `
if (Get-ChildItem -Path $PsFolder/powershell.exe) { `
if (Get-ChildItem -Path $PsFolder/pwsh.exe) { `
Remove-Item -Path $ZipFile ; `
New-Item -Type SymbolicLink -Path $PsFolder\ -Name latest -Value $PsFolder `
} else { throw 'Installation failed! See c:\Dockerfile.log' } ;

# Verify New Powershell.exe runs
SHELL ["C:\\Program Files\\PowerShell\\latest\\PowerShell.exe", "-command"]
# Verify New pwsh.exe runs
SHELL ["C:\\Program Files\\PowerShell\\latest\\pwsh.exe", "-command"]
RUN Start-Transcript -path C:\Dockerfile.log -append -IncludeInvocationHeader ; `
$ErrorActionPreference='Stop'; `
Write-Output $PSVersionTable ; `
Expand All @@ -56,6 +56,6 @@ RUN Start-Transcript -path C:\Dockerfile.log -append -IncludeInvocationHeader ;
} ;

# Persist %PSCORE% ENV variable for user convenience
ENV PSCORE='"C:\Program Files\PowerShell\latest\PowerShell.exe"'
ENV PSCORE='"C:\Program Files\PowerShell\latest\pwsh.exe"'

CMD ["PowerShell.exe"]
CMD ["pwsh.exe"]
8 changes: 4 additions & 4 deletions docker/release/opensuse42.2/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,10 @@ LABEL maintainer="PowerShell Team <powershellteam@hotmail.com>" \
org.label-schema.vendor="PowerShell" \
org.label-schema.version=${POWERSHELL_VERSION} \
org.label-schema.schema-version="1.0" \
org.label-schema.docker.cmd="docker run ${IMAGE_NAME} powershell -c '$psversiontable'" \
org.label-schema.docker.cmd="docker run ${IMAGE_NAME} pwsh -c '$psversiontable'" \
org.label-schema.docker.cmd.devel="docker run ${IMAGE_NAME}" \
org.label-schema.docker.cmd.test="docker run ${IMAGE_NAME} powershell -c Invoke-Pester" \
org.label-schema.docker.cmd.help="docker run ${IMAGE_NAME} powershell -c Get-Help"
org.label-schema.docker.cmd.test="docker run ${IMAGE_NAME} pwsh -c Invoke-Pester" \
org.label-schema.docker.cmd.help="docker run ${IMAGE_NAME} pwsh -c Get-Help"

# TODO: addd LABEL org.label-schema.vcs-ref=${VCS_REF}

Expand Down Expand Up @@ -54,4 +54,4 @@ RUN /InstallTarballPackage.sh $POWERSHELL_VERSION $POWERSHELL_PACKAGE
# Remove the script
RUN rm -f /InstallTarballPackage.sh

CMD [ "powershell" ]
CMD [ "pwsh" ]
8 changes: 4 additions & 4 deletions docker/release/ubuntu14.04/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@ LABEL maintainer="PowerShell Team <powershellteam@hotmail.com>" \
org.label-schema.vendor="PowerShell" \
org.label-schema.version=${POWERSHELL_VERSION} \
org.label-schema.schema-version="1.0" \
org.label-schema.docker.cmd="docker run ${IMAGE_NAME} powershell -c '$psversiontable'" \
org.label-schema.docker.cmd="docker run ${IMAGE_NAME} pwsh -c '$psversiontable'" \
org.label-schema.docker.cmd.devel="docker run ${IMAGE_NAME}" \
org.label-schema.docker.cmd.test="docker run ${IMAGE_NAME} powershell -c Invoke-Pester" \
org.label-schema.docker.cmd.help="docker run ${IMAGE_NAME} powershell -c Get-Help"
org.label-schema.docker.cmd.test="docker run ${IMAGE_NAME} pwsh -c Invoke-Pester" \
org.label-schema.docker.cmd.help="docker run ${IMAGE_NAME} pwsh -c Get-Help"

# TODO: addd LABEL org.label-schema.vcs-ref=${VCS_REF}

Expand Down Expand Up @@ -49,4 +49,4 @@ RUN apt-get update \

# Use PowerShell as the default shell
# Use array to avoid Docker prepending /bin/sh -c
CMD [ "powershell" ]
CMD [ "pwsh" ]
8 changes: 4 additions & 4 deletions docker/release/ubuntu16.04/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@ LABEL maintainer="PowerShell Team <powershellteam@hotmail.com>" \
org.label-schema.vendor="PowerShell" \
org.label-schema.version=${POWERSHELL_VERSION} \
org.label-schema.schema-version="1.0" \
org.label-schema.docker.cmd="docker run ${IMAGE_NAME} powershell -c '$psversiontable'" \
org.label-schema.docker.cmd="docker run ${IMAGE_NAME} pwsh -c '$psversiontable'" \
org.label-schema.docker.cmd.devel="docker run ${IMAGE_NAME}" \
org.label-schema.docker.cmd.test="docker run ${IMAGE_NAME} powershell -c Invoke-Pester" \
org.label-schema.docker.cmd.help="docker run ${IMAGE_NAME} powershell -c Get-Help"
org.label-schema.docker.cmd.test="docker run ${IMAGE_NAME} pwsh -c Invoke-Pester" \
org.label-schema.docker.cmd.help="docker run ${IMAGE_NAME} pwsh -c Get-Help"

# TODO: addd LABEL org.label-schema.vcs-ref=${VCS_REF}

Expand Down Expand Up @@ -50,4 +50,4 @@ RUN apt-get update \

# Use PowerShell as the default shell
# Use array to avoid Docker prepending /bin/sh -c
CMD [ "powershell" ]
CMD [ "pwsh" ]
16 changes: 8 additions & 8 deletions docker/release/windowsservercore/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@ LABEL maintainer="PowerShell Team <powershellteam@hotmail.com>" `
org.label-schema.vendor="PowerShell" `
org.label-schema.version=${POWERSHELL_VERSION} `
org.label-schema.schema-version="1.0" `
org.label-schema.docker.cmd="docker run ${IMAGE_NAME} powershell -c '$psversiontable'" `
org.label-schema.docker.cmd="docker run ${IMAGE_NAME} pwsh -c '$psversiontable'" `
org.label-schema.docker.cmd.devel="docker run ${IMAGE_NAME}" `
org.label-schema.docker.cmd.test="docker run ${IMAGE_NAME} powershell -c Invoke-Pester" `
org.label-schema.docker.cmd.help="docker run ${IMAGE_NAME} powershell -c Get-Help"
org.label-schema.docker.cmd.test="docker run ${IMAGE_NAME} pwsh -c Invoke-Pester" `
org.label-schema.docker.cmd.help="docker run ${IMAGE_NAME} pwsh -c Get-Help"

# TODO: addd LABEL org.label-schema.vcs-ref=${VCS_REF}

Expand All @@ -42,12 +42,12 @@ RUN $ErrorActionPreference='Stop'; `
$log=get-content -Path C:\PowerShell-win-x64.msi.log -Last 10 ; `
if ($log -match 'Installation success or error status: 0') { `
Remove-Item -Path $MsiFile ; `
$psexe=Get-Item -Path $Env:ProgramFiles\PowerShell\*\powershell.exe ; `
$psexe=Get-Item -Path $Env:ProgramFiles\PowerShell\*\pwsh.exe ; `
New-Item -Type SymbolicLink -Path $Env:ProgramFiles\PowerShell\ -Name latest -Value $psexe.DirectoryName `
} else { throw 'Installation failed! See c:\PowerShell-win-x64.msi.log' } ;

# Verify New Powershell.exe runs
SHELL ["C:\\Program Files\\PowerShell\\latest\\PowerShell.exe", "-command"]
# Verify New pwsh.exe runs
SHELL ["C:\\Program Files\\PowerShell\\latest\\pwsh.exe", "-command"]
RUN Start-Transcript -path C:\Dockerfile.log -append -IncludeInvocationHeader ; `
$ErrorActionPreference='Stop'; `
Write-Output $PSVersionTable ; `
Expand All @@ -56,6 +56,6 @@ RUN Start-Transcript -path C:\Dockerfile.log -append -IncludeInvocationHeader ;
} ;

# Persist %PSCORE% ENV variable for user convenience
ENV PSCORE='"C:\Program Files\PowerShell\latest\PowerShell.exe"'
ENV PSCORE='"C:\Program Files\PowerShell\latest\pwsh.exe"'

CMD ["PowerShell.exe"]
CMD ["pwsh.exe"]
2 changes: 1 addition & 1 deletion docker/tests/containerTestCommon.psm1
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@ function Get-ContainerPowerShellVersion
}

$runParams += $imageTag
$runParams += 'powershell'
$runParams += 'pwsh'
$runParams += '-c'
$runParams += ('$PSVersionTable.PSVersion.ToString() | out-string | out-file -encoding ascii -FilePath '+$testContext.containerLogPath)

Expand Down