With my previous blog posts about installing PowerShell on the following Linux distros:
I will be demonstrating on how you can install PowerShell 6 in Amazon Linux 2 distro container.
Like my previous blog post, I will not be providing a break down of the steps
Dockerfile with explainations except including comments in the
Dockerfile to indicate what it is doing.
PowerShell for Amazon Linux container
In this section, I will provide a
Dockerfile text document file that contains
all the commands to build a Amazon Linux container and install PowerShell to
the Amazon Linux distro when you use DockerCLI
docker build command.
Creating the Dockerfile
Let us create a new
Dockerfile text document file to begin with.
Next, copy the code below and paste it into that
Dockerfile text document
Remember to save the
Dockerfile file and exit from your editor.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 # Pull Amazon Linux container image FROM amazonlinux:latest AS build # Define Args and Env needed to create links ENV PS_INSTALL_FOLDER=/opt/microsoft/powershell/6 \ # Define ENVs for Localization/Globalization DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=false \ LC_ALL=en_US.UTF-8 \ LANG=en_US.UTF-8 # Download the PowerShell RPM package ADD https://github.com/PowerShell/PowerShell/releases/download/v6.1.0/powershell-6.1.0-1.rhel.7.x86_64.rpm \ /tmp/powershell-linux.rpm # Installation and configuration RUN \ # Install dependencies yum install -y \ # Required for help in powershell less \ # Install powershell package && yum install -y /tmp/powershell-linux.rpm \ # Remove powershell package && rm -f /tmp/powershell-linux.rpm \ # Upgrade packages && yum upgrade -y \ # Clean cached data && yum clean all \ # Remove cache folders and files && rm -rf /var/cache/yum # Configure entrypoint for the container ENTRYPOINT ["pwsh", "-c"] # Configure PowerShell as default shell for the container CMD ["pwsh"]
Building from the Dockerfile
Now, you will have to use the DockerCLI
docker build command to build the
Amazon Linux container from the instructions in the
1 2 3 4 5 # Change to your working directory cd \The\directory\where\your\Dockerfile\is\saved # Build the container with the Dockerfile docker build -t amazonlinux .
Once the container build has completed, you can use the DockerCLI
command to run the container and look at PowerShell instead of Bash.
1 docker run --rm --interactive amazonlinux
And if you need to go back into Bash from the
pwsh in the container,
bin/bash to switch into Bash.
But if you requires to run the container in
bash, you can do it on the same
container with the command below.
1 docker run --rm --interactive --tty amazonlinux bin/bash
And if you need to go back into PowerShell from the
bash in the container,
pwsh to switch into PowerShell.
That is it on how to get PowerShell Core 6 in this distro for Amazon Linux 2 folks.
If you find that this information useful, feel free to bookmark this or share it with your colleagues and friends.
- Docker Docs - Dockerfile reference
- Microsoft Docs - Installing PowerShell Core on Linux
- Amazon Docs - User Guide