ebc7cdf847
Without the pipefail, the step always succeeds and the layer gets cached, resulting in confusion during the next step failing and subsequent rebuild attempt.
59 lines
2.4 KiB
Docker
59 lines
2.4 KiB
Docker
# Docker image file that describes an Ubuntu14.04 image with PowerShell installed from Microsoft APT Repo
|
|
ARG FromTag=14.04
|
|
|
|
FROM ubuntu:${FromTag}
|
|
|
|
ARG POWERSHELL_VERSION=6.0.2
|
|
ARG POWERSHELL_VERSION_POSTFIX=-1.ubuntu.14.04
|
|
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} pwsh -c '$psversiontable'" \
|
|
org.label-schema.docker.cmd.devel="docker run ${IMAGE_NAME}" \
|
|
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}
|
|
|
|
# Setup the locale
|
|
ENV LANG en_US.UTF-8
|
|
ENV LC_ALL $LANG
|
|
RUN locale-gen $LANG && update-locale
|
|
|
|
# Install dependencies and clean up
|
|
RUN apt-get update \
|
|
&& apt-get install -y --no-install-recommends \
|
|
apt-utils \
|
|
ca-certificates \
|
|
curl \
|
|
apt-transport-https \
|
|
&& apt-get dist-upgrade -y \
|
|
&& apt-get clean \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Import the public repository GPG keys for Microsoft
|
|
RUN curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
|
|
|
|
# Register the Microsoft Ubuntu 14.04 repository
|
|
RUN set -o pipefail \
|
|
&& curl https://packages.microsoft.com/config/ubuntu/14.04/prod.list | tee /etc/apt/sources.list.d/microsoft.list
|
|
|
|
# Install powershell from Microsoft Repo
|
|
RUN apt-get update \
|
|
&& apt-get install -y --no-install-recommends \
|
|
powershell=${POWERSHELL_VERSION}${POWERSHELL_VERSION_POSTFIX} \
|
|
&& apt-get clean \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Use PowerShell as the default shell
|
|
# Use array to avoid Docker prepending /bin/sh -c
|
|
CMD [ "pwsh" ]
|