-
-
Save anton-gorbikov/b6573f896fa4c487508949dd6bfcb507 to your computer and use it in GitHub Desktop.
dev-container-dockerfile
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#------------------------------------------------------------------------------------------------------------- | |
# Copyright (c) Microsoft Corporation. All rights reserved. | |
# Licensed under the MIT License. See https://go.microsoft.com/fwlink/?linkid=2090316 for license information. | |
#------------------------------------------------------------------------------------------------------------- | |
FROM mcr.microsoft.com/dotnet/core/sdk:3.1 | |
# Avoid warnings by switching to noninteractive | |
ENV DEBIAN_FRONTEND=noninteractive | |
# This Dockerfile adds a non-root user with sudo access. Use the "remoteUser" | |
# property in devcontainer.json to use it. On Linux, the container user's GID/UIDs | |
# will be updated to match your local UID/GID (when using the dockerFile property). | |
# See https://aka.ms/vscode-remote/containers/non-root-user for details. | |
ARG USERNAME=vscode | |
ARG USER_UID=1000 | |
ARG USER_GID=$USER_UID | |
# Configure apt and install packages | |
RUN apt-get update \ | |
&& apt-get -y install --no-install-recommends apt-utils dialog 2>&1 \ | |
# | |
# Verify git, process tools, lsb-release (common in install instructions for CLIs) installed | |
&& apt-get -y install git openssh-client less iproute2 procps lsb-release \ | |
# | |
# Install Node.js and Yarn | |
&& curl -sL https://deb.nodesource.com/setup_12.x | bash - \ | |
&& apt-get install -y nodejs \ | |
&& curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \ | |
&& echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list \ | |
&& apt update && apt install yarn \ | |
# | |
# Create a non-root user to use if preferred - see https://aka.ms/vscode-remote/containers/non-root-user. | |
&& groupadd --gid $USER_GID $USERNAME \ | |
&& useradd -s /bin/bash --uid $USER_UID --gid $USER_GID -m $USERNAME \ | |
# [Optional] Add sudo support for the non-root user | |
&& apt-get install -y sudo \ | |
&& echo $USERNAME ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$USERNAME\ | |
&& chmod 0440 /etc/sudoers.d/$USERNAME \ | |
# | |
# Clean up | |
&& apt-get autoremove -y \ | |
&& apt-get clean -y \ | |
&& rm -rf /var/lib/apt/lists/* | |
# Switch back to dialog for any ad-hoc use of apt-get | |
ENV DEBIAN_FRONTEND=dialog |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment