diff --git a/docker/.gitignore b/docker/.gitignore deleted file mode 100644 index 9cc0e40f1..000000000 --- a/docker/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -logs/**/*.log -packages/ diff --git a/docker/InstallTarballPackage.sh b/docker/InstallTarballPackage.sh index 90fcc6bbf..6b09b787f 100644 --- a/docker/InstallTarballPackage.sh +++ b/docker/InstallTarballPackage.sh @@ -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 @@ -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 ; diff --git a/docker/community/amazonlinux/Dockerfile b/docker/community/amazonlinux/Dockerfile index a18792047..02b98e59c 100644 --- a/docker/community/amazonlinux/Dockerfile +++ b/docker/community/amazonlinux/Dockerfile @@ -16,10 +16,10 @@ LABEL maintainer="PowerShell Team " \ 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} @@ -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" ] diff --git a/docker/community/archlinux/Dockerfile b/docker/community/archlinux/Dockerfile index 9fbf0ca53..2ef0f170a 100644 --- a/docker/community/archlinux/Dockerfile +++ b/docker/community/archlinux/Dockerfile @@ -25,12 +25,12 @@ LABEL maintainer="PowerShell Community " \ 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 \ No newline at end of file + pacman -U --noconfirm /powershell-package/*.xz diff --git a/docker/release/centos7/Dockerfile b/docker/release/centos7/Dockerfile index af6acfb08..0a5eda169 100644 --- a/docker/release/centos7/Dockerfile +++ b/docker/release/centos7/Dockerfile @@ -15,10 +15,10 @@ LABEL maintainer="PowerShell Team " \ 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} @@ -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" ] diff --git a/docker/release/fedora25/Dockerfile b/docker/release/fedora25/Dockerfile index a8010f9c4..3a9e0da88 100644 --- a/docker/release/fedora25/Dockerfile +++ b/docker/release/fedora25/Dockerfile @@ -15,10 +15,10 @@ LABEL maintainer="PowerShell Team " \ 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} @@ -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" ] diff --git a/docker/release/fedora26/Dockerfile b/docker/release/fedora26/Dockerfile index db57ce3ad..212fcbbf9 100644 --- a/docker/release/fedora26/Dockerfile +++ b/docker/release/fedora26/Dockerfile @@ -15,10 +15,10 @@ LABEL maintainer="PowerShell Team " \ 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} @@ -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" ] diff --git a/docker/release/nanoserver-insider/Dockerfile b/docker/release/nanoserver-insider/Dockerfile index 2a20c8b5c..b4ca7f819 100755 --- a/docker/release/nanoserver-insider/Dockerfile +++ b/docker/release/nanoserver-insider/Dockerfile @@ -37,19 +37,19 @@ LABEL maintainer="PowerShell Team " ` 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"] diff --git a/docker/release/nanoserver/Dockerfile b/docker/release/nanoserver/Dockerfile index 47569baef..713d1a4f5 100644 --- a/docker/release/nanoserver/Dockerfile +++ b/docker/release/nanoserver/Dockerfile @@ -15,10 +15,10 @@ LABEL maintainer="PowerShell Team " ` 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} @@ -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 ; ` @@ -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"] diff --git a/docker/release/opensuse42.2/Dockerfile b/docker/release/opensuse42.2/Dockerfile index ded9ba482..aed080377 100644 --- a/docker/release/opensuse42.2/Dockerfile +++ b/docker/release/opensuse42.2/Dockerfile @@ -16,10 +16,10 @@ LABEL maintainer="PowerShell Team " \ 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} @@ -54,4 +54,4 @@ RUN /InstallTarballPackage.sh $POWERSHELL_VERSION $POWERSHELL_PACKAGE # Remove the script RUN rm -f /InstallTarballPackage.sh -CMD [ "powershell" ] +CMD [ "pwsh" ] diff --git a/docker/release/ubuntu14.04/Dockerfile b/docker/release/ubuntu14.04/Dockerfile index bfaedd808..4b2ed1027 100644 --- a/docker/release/ubuntu14.04/Dockerfile +++ b/docker/release/ubuntu14.04/Dockerfile @@ -15,10 +15,10 @@ LABEL maintainer="PowerShell Team " \ 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} @@ -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" ] diff --git a/docker/release/ubuntu16.04/Dockerfile b/docker/release/ubuntu16.04/Dockerfile index 6190970a4..13c132e9b 100644 --- a/docker/release/ubuntu16.04/Dockerfile +++ b/docker/release/ubuntu16.04/Dockerfile @@ -15,10 +15,10 @@ LABEL maintainer="PowerShell Team " \ 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} @@ -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" ] diff --git a/docker/release/windowsservercore/Dockerfile b/docker/release/windowsservercore/Dockerfile index c5c197803..ce4e16633 100644 --- a/docker/release/windowsservercore/Dockerfile +++ b/docker/release/windowsservercore/Dockerfile @@ -15,10 +15,10 @@ LABEL maintainer="PowerShell Team " ` 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} @@ -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 ; ` @@ -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"] diff --git a/docker/tests/containerTestCommon.psm1 b/docker/tests/containerTestCommon.psm1 index 5a548c16d..5b3971e5c 100644 --- a/docker/tests/containerTestCommon.psm1 +++ b/docker/tests/containerTestCommon.psm1 @@ -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)