update opensuse docker image to 42.2 (#4737)

- fix missing dependency in amazonlinux dockerfile
- change opensuse docker to use supported image
- update to conform withe label-schema.org
This commit is contained in:
Travis Plunk 2017-09-05 15:36:29 -07:00 committed by Dongbo Wang
parent 5d0a1c1a7f
commit 955e01dc65
11 changed files with 195 additions and 71 deletions

View file

@ -2,9 +2,25 @@
FROM amazonlinux:latest
LABEL maintainer="PowerShell Team <powershellteam@hotmail.com>"
LABEL readme.md="https://github.com/PowerShell/PowerShell/blob/master/docker/README.md"
LABEL description="This Dockerfile will install the latest release of PS."
ARG POWERSHELL_VERSION=6.0.0-beta.6
ARG IMAGE_NAME=microsoft/powershell:amazonlinux
LABEL maintainer="PowerShell Team <powershellteam@hotmail.com>" \
readme.md="https://github.com/PowerShell/PowerShell/blob/master/docker/README.md" \
description="This Dockerfile will install the latest release of PS." \
org.label-schema.usage="https://github.com/PowerShell/PowerShell/tree/master/docker#run-the-docker-image-you-built" \
org.label-schema.url="https://github.com/PowerShell/PowerShell/blob/master/docker/README.md" \
org.label-schema.vcs-url="https://github.com/PowerShell/PowerShell" \
org.label-schema.name="powershell" \
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.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"
# TODO: addd LABEL org.label-schema.vcs-ref=${VCS_REF}
# Setup the locale
ENV LANG en_US.UTF-8
@ -14,6 +30,7 @@ RUN localedef --charmap=UTF-8 --inputfile=en_US $LANG
# Install dependencies and clean up
RUN yum install -y \
curl \
libuuid.x86_64 \
&& yum clean all
# Download and configure Microsoft Repository config file

View file

@ -2,9 +2,26 @@
FROM centos:7
LABEL maintainer="PowerShell Team <powershellteam@hotmail.com>"
LABEL readme.md="https://github.com/PowerShell/PowerShell/blob/master/docker/README.md"
LABEL description="This Dockerfile will install the latest release of PS."
ARG POWERSHELL_VERSION=6.0.0-beta.6
ARG IMAGE_NAME=microsoft/powershell:centos7
LABEL maintainer="PowerShell Team <powershellteam@hotmail.com>" \
readme.md="https://github.com/PowerShell/PowerShell/blob/master/docker/README.md" \
description="This Dockerfile will install the latest release of PS." \
org.label-schema.usage="https://github.com/PowerShell/PowerShell/tree/master/docker#run-the-docker-image-you-built" \
org.label-schema.url="https://github.com/PowerShell/PowerShell/blob/master/docker/README.md" \
org.label-schema.vcs-url="https://github.com/PowerShell/PowerShell" \
org.label-schema.name="powershell" \
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.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"
# TODO: addd LABEL org.label-schema.vcs-ref=${VCS_REF}
# Setup the locale
ENV LANG en_US.UTF-8

View file

@ -1,7 +1,4 @@
FROM fedora:24
LABEL maintainer="PowerShell Team <powershellteam@hotmail.com>"
LABEL readme.md="https://github.com/PowerShell/PowerShell/blob/master/docker/README.md"
LABEL description="This Dockerfile will install the latest release of PS."
# TODO: Until a release of PowerShell for Fedora 24 is available,
# this Dockerfile installs the CentOS 7 version for compatibility.
@ -9,6 +6,24 @@ LABEL description="This Dockerfile will install the latest release of PS."
ARG POWERSHELL_VERSION=6.0.0-beta.6
ARG POWERSHELL_RELEASE=v6.0.0-beta.6
ARG POWERSHELL_PACKAGE=powershell-6.0.0_beta.6-1.el7.x86_64.rpm
ARG IMAGE_NAME=microsoft/powershell:fedora24
LABEL maintainer="PowerShell Team <powershellteam@hotmail.com>" \
readme.md="https://github.com/PowerShell/PowerShell/blob/master/docker/README.md" \
description="This Dockerfile will install the latest release of PS." \
org.label-schema.usage="https://github.com/PowerShell/PowerShell/tree/master/docker#run-the-docker-image-you-built" \
org.label-schema.url="https://github.com/PowerShell/PowerShell/blob/master/docker/README.md" \
org.label-schema.vcs-url="https://github.com/PowerShell/PowerShell" \
org.label-schema.name="powershell" \
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.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"
# TODO: addd LABEL org.label-schema.vcs-ref=${VCS_REF}
# The CentOS 7 release relies on an older version of libicu, so we'll be downloading it
# from the University of Kent (GB) mirror service.

View file

@ -26,23 +26,22 @@ ARG VCS_REF="none"
ARG PS_VERSION=6.0.0-beta.6
ARG IMAGE_NAME=microsoft/nanoserver-insider-powershell
LABEL maintainer="PowerShell Team <powershellteam@hotmail.com>"
LABEL readme.md="https://github.com/PowerShell/PowerShell/blob/master/docker/README.md"
LABEL description="This Dockerfile will install the latest release of PS."
# Usage on URL to Usage
LABEL org.label-schema.usage="https://github.com/PowerShell/PowerShell/tree/master/docker#run-the-docker-image-you-built"
LABEL org.label-schema.url="https://github.com/PowerShell/PowerShell/blob/master/docker/README.md"
LABEL org.label-schema.vcs-url="https://github.com/PowerShell/PowerShell"
# Image friendly name
LABEL org.label-schema.name="nanoserver-insider-powershell"
LABEL org.label-schema.vcs-ref=${VCS_REF}
LABEL org.label-schema.vendor="PowerShell"
LABEL org.label-schema.version=${PS_VERSION}
LABEL org.label-schema.schema-version="1.0"
LABEL org.label-schema.docker.cmd="docker run ${IMAGE_NAME} powershell -c '$psversiontable'"
LABEL org.label-schema.docker.cmd.devel="docker run ${IMAGE_NAME}"
LABEL org.label-schema.docker.cmd.test="docker run ${IMAGE_NAME} powershell -c Invoke-Pester"
LABEL org.label-schema.docker.cmd.help="docker run ${IMAGE_NAME} powershell -c Get-Help"
LABEL maintainer="PowerShell Team <powershellteam@hotmail.com>" `
readme.md="https://github.com/PowerShell/PowerShell/blob/master/docker/README.md" `
description="This Dockerfile will install the latest release of PS." `
org.label-schema.usage="https://github.com/PowerShell/PowerShell/tree/master/docker#run-the-docker-image-you-built" `
org.label-schema.url="https://github.com/PowerShell/PowerShell/blob/master/docker/README.md" `
org.label-schema.vcs-url="https://github.com/PowerShell/PowerShell" `
org.label-schema.name="powershell" `
org.label-schema.vcs-ref=${VCS_REF} `
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.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"
# Copy Powershell from the installer containter
ENV ProgramFiles C:\Program Files
COPY --from=installer-env ["\\PowerShell\\", "$ProgramFiles\\PowerShell"]

View file

@ -1,11 +1,26 @@
# escape=`
FROM microsoft/nanoserver:latest
LABEL maintainer="PowerShell Team <powershellteam@hotmail.com>"
LABEL readme.md="https://github.com/PowerShell/PowerShell/blob/master/docker/README.md"
LABEL description="This Dockerfile will install the latest release of PS."
ARG POWERSHELL_ZIP=https://github.com/PowerShell/PowerShell/releases/download/v6.0.0-beta.6/PowerShell-6.0.0-beta.6-win10-win2016-x64.zip
ARG POWERSHELL_VERSION=6.0.0-beta.6
ARG IMAGE_NAME=microsoft/powershell:nanoserver
LABEL maintainer="PowerShell Team <powershellteam@hotmail.com>" `
readme.md="https://github.com/PowerShell/PowerShell/blob/master/docker/README.md" `
description="This Dockerfile will install the latest release of PS." `
org.label-schema.usage="https://github.com/PowerShell/PowerShell/tree/master/docker#run-the-docker-image-you-built" `
org.label-schema.url="https://github.com/PowerShell/PowerShell/blob/master/docker/README.md" `
org.label-schema.vcs-url="https://github.com/PowerShell/PowerShell" `
org.label-schema.name="powershell" `
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.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"
# TODO: addd LABEL org.label-schema.vcs-ref=${VCS_REF}
RUN setx /M PATH "%ProgramFiles%\PowerShell\latest;%PATH%"
# Setup PowerShell - Log-to > C:\Docker.log

View file

@ -1,30 +0,0 @@
# Docker image file that describes an OpenSUSE 42.1 (AKA leap 42.1) image with PowerShell installed from PowerShell Release
FROM opensuse:42.1
LABEL maintainer="PowerShell Team <powershellteam@hotmail.com>"
LABEL readme.md="https://github.com/PowerShell/PowerShell/blob/master/docker/README.md"
LABEL description="This Dockerfile will install the latest release of PS."
ARG POWERSHELL_VERSION=6.0.0_beta.6
ARG POWERSHELL_RELEASE=v6.0.0-beta.6
ARG FORK=PowerShell
ARG POWERSHELL_PACKAGE=powershell-$POWERSHELL_VERSION-1.suse.42.1.x86_64.rpm
# Update, Install packages to generate localedef and CURL which is used by RPM
# add the Microsoft key as trusted to install packgages using RPM
# Install PowerShell then clean up
RUN zypper --non-interactive update --skip-interactive \
&& zypper --non-interactive install \
glibc-locale \
glibc-i18ndata \
curl \
&& rpm --import https://packages.microsoft.com/keys/microsoft.asc \
&& zypper --non-interactive install https://github.com/$FORK/PowerShell/releases/download/$POWERSHELL_RELEASE/$POWERSHELL_PACKAGE \
&& zypper --non-interactive clean --all
# Setup the locale
ENV LANG en_US.UTF-8
ENV LC_ALL $LANG
RUN localedef --charmap=UTF-8 --inputfile=en_US $LANG
CMD [ "powershell" ]

View file

@ -0,0 +1,44 @@
# Docker image file that describes an OpenSUSE 42.1 (AKA leap 42.1) image with PowerShell installed from PowerShell Release
FROM opensuse:42.2
ARG POWERSHELL_VERSION=6.0.0_beta.6
ARG POWERSHELL_RELEASE=v6.0.0-beta.6
ARG FORK=PowerShell
ARG POWERSHELL_PACKAGE=powershell-$POWERSHELL_VERSION-1.suse.42.1.x86_64.rpm
ARG IMAGE_NAME=microsoft/powershell:opensuse42.2
LABEL maintainer="PowerShell Team <powershellteam@hotmail.com>" \
readme.md="https://github.com/PowerShell/PowerShell/blob/master/docker/README.md" \
description="This Dockerfile will install the latest release of PS." \
org.label-schema.usage="https://github.com/PowerShell/PowerShell/tree/master/docker#run-the-docker-image-you-built" \
org.label-schema.url="https://github.com/PowerShell/PowerShell/blob/master/docker/README.md" \
org.label-schema.vcs-url="https://github.com/PowerShell/PowerShell" \
org.label-schema.name="powershell" \
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.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"
# TODO: addd LABEL org.label-schema.vcs-ref=${VCS_REF}
# Update, Install packages to generate localedef and CURL which is used by RPM
# add the Microsoft key as trusted to install packgages using RPM
# Install PowerShell then clean up
RUN zypper --non-interactive update --skip-interactive \
&& zypper --non-interactive install \
glibc-locale \
glibc-i18ndata \
curl \
&& rpm --import https://packages.microsoft.com/keys/microsoft.asc \
&& zypper --non-interactive install https://github.com/$FORK/PowerShell/releases/download/$POWERSHELL_RELEASE/$POWERSHELL_PACKAGE \
&& zypper --non-interactive clean --all
# Setup the locale
ENV LANG en_US.UTF-8
ENV LC_ALL $LANG
RUN localedef --charmap=UTF-8 --inputfile=en_US $LANG
CMD [ "powershell" ]

View file

@ -2,9 +2,25 @@
FROM ubuntu:trusty
LABEL maintainer="PowerShell Team <powershellteam@hotmail.com>"
LABEL readme.md="https://github.com/PowerShell/PowerShell/blob/master/docker/README.md"
LABEL description="This Dockerfile will install the latest release of PS."
ARG POWERSHELL_VERSION=6.0.0-beta.6
ARG IMAGE_NAME=microsoft/powershell:ubuntu14.04
LABEL maintainer="PowerShell Team <powershellteam@hotmail.com>" \
readme.md="https://github.com/PowerShell/PowerShell/blob/master/docker/README.md" \
description="This Dockerfile will install the latest release of PS." \
org.label-schema.usage="https://github.com/PowerShell/PowerShell/tree/master/docker#run-the-docker-image-you-built" \
org.label-schema.url="https://github.com/PowerShell/PowerShell/blob/master/docker/README.md" \
org.label-schema.vcs-url="https://github.com/PowerShell/PowerShell" \
org.label-schema.name="powershell" \
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.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"
# TODO: addd LABEL org.label-schema.vcs-ref=${VCS_REF}
# Setup the locale
ENV LANG en_US.UTF-8

View file

@ -2,9 +2,25 @@
FROM ubuntu:xenial
LABEL maintainer="PowerShell Team <powershellteam@hotmail.com>"
LABEL readme.md="https://github.com/PowerShell/PowerShell/blob/master/docker/README.md"
LABEL description="This Dockerfile will install the latest release of PS."
ARG POWERSHELL_VERSION=6.0.0-beta.6
ARG IMAGE_NAME=microsoft/powershell:ubuntu16.04
LABEL maintainer="PowerShell Team <powershellteam@hotmail.com>" \
readme.md="https://github.com/PowerShell/PowerShell/blob/master/docker/README.md" \
description="This Dockerfile will install the latest release of PS." \
org.label-schema.usage="https://github.com/PowerShell/PowerShell/tree/master/docker#run-the-docker-image-you-built" \
org.label-schema.url="https://github.com/PowerShell/PowerShell/blob/master/docker/README.md" \
org.label-schema.vcs-url="https://github.com/PowerShell/PowerShell" \
org.label-schema.name="powershell" \
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.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"
# TODO: addd LABEL org.label-schema.vcs-ref=${VCS_REF}
# Install dependencies and clean up
RUN apt-get update \

View file

@ -1,11 +1,26 @@
# escape=`
FROM microsoft/windowsservercore:latest
LABEL maintainer="PowerShell Team <powershellteam@hotmail.com>"
LABEL readme.md="https://github.com/PowerShell/PowerShell/blob/master/docker/README.md"
LABEL description="This Dockerfile will install the latest release of PS."
ARG POWERSHELL_MSI=https://github.com/PowerShell/PowerShell/releases/download/v6.0.0-beta.6/PowerShell-6.0.0-beta.6-win10-win2016-x64.msi
ARG POWERSHELL_VERSION=6.0.0-beta.6
ARG IMAGE_NAME=microsoft/powershell:windowsservercore
LABEL maintainer="PowerShell Team <powershellteam@hotmail.com>" `
readme.md="https://github.com/PowerShell/PowerShell/blob/master/docker/README.md" `
description="This Dockerfile will install the latest release of PS." `
org.label-schema.usage="https://github.com/PowerShell/PowerShell/tree/master/docker#run-the-docker-image-you-built" `
org.label-schema.url="https://github.com/PowerShell/PowerShell/blob/master/docker/README.md" `
org.label-schema.vcs-url="https://github.com/PowerShell/PowerShell" `
org.label-schema.name="powershell" `
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.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"
# TODO: addd LABEL org.label-schema.vcs-ref=${VCS_REF}
RUN setx /M PATH "%ProgramFiles%\PowerShell\latest;%PATH%"
# Setup PowerShell - Log-to > C:\Docker.log

View file

@ -65,7 +65,7 @@ function Invoke-Docker
# Return a list of Linux Container Test Cases
function Get-LinuxContainer
{
foreach($os in 'amazonlinux','centos7','opensuse42.1','ubuntu14.04','ubuntu16.04')
foreach($os in 'amazonlinux','centos7','opensuse42.2','ubuntu14.04','ubuntu16.04')
{
Write-Output @{
Name = $os