34 lines
1.2 KiB
Docker
34 lines
1.2 KiB
Docker
#
|
|
# Copyright (c) .NET Foundation and contributors. All rights reserved.
|
|
# Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
#
|
|
|
|
# Dockerfile that creates a container suitable to build dotnet-cli
|
|
FROM mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.15-20220610131707-f0ea7ba
|
|
|
|
RUN apk update && apk upgrade && apk add --no-cache curl ncurses
|
|
|
|
# This Dockerfile doesn't use the USER_ID, but the parameter needs to be declared to prevent docker
|
|
# from issuing a warning
|
|
ARG USER_ID=0
|
|
RUN adduser code_executor -u ${USER_ID} -G root -D
|
|
RUN echo 'code_executor ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
|
|
|
|
# With the User Change, we need to change permissions on these directories
|
|
RUN chmod -R a+rwx /usr/local
|
|
RUN chmod -R a+rwx /home
|
|
|
|
# Set working directory
|
|
ARG WORK_DIR
|
|
WORKDIR ${WORK_DIR}
|
|
|
|
# Set up Azure Artifacts credential provider
|
|
# We download the installer and execute it using ${USER_ID} so that the installer
|
|
# put the NuGet plugins in the correct $HOME/.nuget folder.
|
|
RUN curl -O https://raw.githubusercontent.com/Microsoft/artifacts-credprovider/master/helpers/installcredprovider.sh
|
|
RUN chmod +x ./installcredprovider.sh
|
|
|
|
# Set user to the one we just created
|
|
USER ${USER_ID}
|
|
|
|
RUN ./installcredprovider.sh
|