Created
September 27, 2019 22:10
-
-
Save redaphid/67843ceacf65dc49f0cf051048e5f571 to your computer and use it in GitHub Desktop.
Visual Studio Code Go Remote Docker Environment
This file contains hidden or 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 ubuntu:bionic | |
# Avoid warnings by switching to noninteractive | |
ENV DEBIAN_FRONTEND=noninteractive | |
# This Dockerfile adds a non-root 'vscode' user with sudo access. However, for Linux, | |
# this user's GID/UID must match your local user UID/GID to avoid permission issues | |
# with bind mounts. Update USER_UID / USER_GID if yours is not 1000. 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 iproute2 procps lsb-release \ | |
# | |
# 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 | |
#Go Stuff | |
RUN apt-get -y install --no-install-recommends software-properties-common 2>&1 \ | |
&& add-apt-repository ppa:longsleep/golang-backports -y \ | |
&& apt-get update \ | |
&& go get github.com/onsi/ginkgo/ginkgo \ | |
&& go get github.com/onsi/gomega/... | |
# Clean up | |
RUN 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= |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment