aspnetcore/build/docker/alpine.Dockerfile

39 lines
1.1 KiB
Docker

FROM microsoft/dotnet:2.1-runtime-deps-alpine
ARG USER
ARG USER_ID
ARG GROUP_ID
WORKDIR /code/build
RUN mkdir -p "/home/$USER" && chown "${USER_ID}:${GROUP_ID}" "/home/$USER"
ENV HOME "/home/$USER"
RUN apk add --no-cache \
bash \
wget \
git \
jq \
curl \
icu-libs \
openssl
USER $USER_ID:$GROUP_ID
# Disable the invariant mode (set in base image)
ENV DOTNET_SYSTEM_GLOBALIZATION_INVARIANT false
ENV LC_ALL en_US.UTF-8
ENV LANG en_US.UTF-8
# Skip package initilization
ENV DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
# Workarounds https://github.com/dotnet/cli/issues/8738
ENV DOTNET_INSTALL_SKIP_PREREQS=1
ENV KOREBUILD_SKIP_RUNTIME_INSTALL=1
COPY global.json /tmp/global.json
RUN DOTNET_SDK_VERSION="$(jq -r '.sdk.version' /tmp/global.json)" \
&& echo "Installing SDK ${DOTNET_SDK_VERSION}" \
&& wget -q --tries 10 -O /tmp/dotnet.tar.gz https://dotnetcli.blob.core.windows.net/dotnet/Sdk/$DOTNET_SDK_VERSION/dotnet-sdk-$DOTNET_SDK_VERSION-alpine.3.6-x64.tar.gz \
&& mkdir -p "$HOME/.dotnet" \
&& tar xzf /tmp/dotnet.tar.gz -C "$HOME/.dotnet"