diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index 3ad2ed3..9135549 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -3,55 +3,25 @@ # Licensed under the MIT License. See https://go.microsoft.com/fwlink/?linkid=2090316 for license information. #------------------------------------------------------------------------------------------------------------- -FROM node:10 +# For information on the contents of the container image below, see following Dockerfile: +# https://github.com/microsoft/vscode-dev-containers/tree/v0.43.0/containers/javascript-node-12/.devcontainer/Dockerfile +FROM mcr.microsoft.com/vscode/devcontainers/javascript-node:0.43-12 -# The node image includes 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=node -ARG USER_UID=1000 -ARG USER_GID=$USER_UID +# ************************************************************* +# * Uncomment this section to use RUN instructions to install * +# * any needed dependencies after executing "apt-get update". * +# * See https://docs.docker.com/engine/reference/builder/#run * +# ************************************************************* +# ENV DEBIAN_FRONTEND=noninteractive +# RUN apt-get update \ +# && apt-get -y install --no-reccomends \ +# # +# # Clean up +# && apt-get autoremove -y \ +# && apt-get clean -y \ +# && rm -rf /var/lib/apt/lists/* +# ENV DEBIAN_FRONTEND=dialog -# Avoid warnings by switching to noninteractive -ENV DEBIAN_FRONTEND=noninteractive +# Uncomment to default to non-root user +# USER $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 and needed tools are installed - && apt-get -y install git iproute2 procps \ - # - # Remove outdated yarn from /opt and install via package - # so it can be easily updated via apt-get upgrade yarn - && rm -rf /opt/yarn-* \ - && rm -f /usr/local/bin/yarn \ - && rm -f /usr/local/bin/yarnpkg \ - && apt-get install -y curl apt-transport-https lsb-release \ - && curl -sS https://dl.yarnpkg.com/$(lsb_release -is | tr '[:upper:]' '[:lower:]')/pubkey.gpg | apt-key add - 2>/dev/null \ - && echo "deb https://dl.yarnpkg.com/$(lsb_release -is | tr '[:upper:]' '[:lower:]')/ stable main" | tee /etc/apt/sources.list.d/yarn.list \ - && apt-get update \ - && apt-get -y install --no-install-recommends yarn \ - # - # Install eslint globally - && npm install -g eslint \ - # - # [Optional] Update a non-root user to UID/GID if needed. - && if [ "$USER_GID" != "1000" ] || [ "$USER_UID" != "1000" ]; then \ - groupmod --gid $USER_GID $USERNAME \ - && usermod --uid $USER_UID --gid $USER_GID $USERNAME \ - && chown -R $USER_UID:$USER_GID /home/$USERNAME; \ - fi \ - # [Optional] Add add sudo support for non-root user - && apt-get install -y sudo \ - && echo node 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 \ No newline at end of file