Created
June 25, 2020 17:24
-
-
Save CelsoSantos/9a7dc3015824ec2abe0d260eab0943ab to your computer and use it in GitHub Desktop.
devcontainer-old
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
Show hidden characters
// For format details, see https://aka.ms/vscode-remote/devcontainer.json or this file's README at: | |
// https://github.com/microsoft/vscode-dev-containers/tree/v0.117.0/containers/java-11 | |
{ | |
"name": "Java 11", | |
"dockerFile": "Dockerfile", | |
"appPort": [ | |
9000, | |
8080, | |
8081 | |
], | |
// Set *default* container specific settings.json values on container create. | |
"settings": { | |
"terminal.integrated.shell.linux": "/bin/bash", | |
"java.home": "/docker-java-home", | |
"less.lint.emptyRules": "ignore" | |
}, | |
"runArgs": [ | |
"--cap-add=SYS_PTRACE", | |
"--security-opt", | |
"seccomp=unconfined", | |
// Mount your .ssh folder to /root/.ssh-localhost so we can copy its contents | |
"-v", | |
"${env:HOME}${env:USERPROFILE}/.ssh:/root/.ssh-localhost:ro" | |
], | |
// Add the IDs of extensions you want installed when the container is created. | |
"extensions": [ | |
"vscjava.vscode-java-pack", | |
"pivotal.vscode-boot-dev-pack", | |
"github.vscode-pull-request-github", | |
"kumar-harsh.graphql-for-vscode", | |
"zxh404.vscode-proto3", | |
"humao.rest-client" | |
// "ms-vsliveshare.vsliveshare", | |
// "ms-vsliveshare.vsliveshare-pack", | |
], | |
// Use 'forwardPorts' to make a list of ports inside the container available locally. | |
"forwardPorts": [ | |
8080 | |
], | |
// Use 'postCreateCommand' to run commands after the container is created. | |
// Copy the contents to the correct location and set permissions | |
"postCreateCommand": "mkdir -p ~/.ssh && cp -r ~/.ssh-localhost/* ~/.ssh && chmod 700 ~/.ssh && chmod 600 ~/.ssh/*" | |
// Uncomment to connect as a non-root user. See https://aka.ms/vscode-remote/containers/non-root. | |
// "remoteUser": "vscode" | |
} |
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 openjdk:11-jdk | |
# 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 | |
ENV DEBIAN_FRONTEND=noninteractive | |
RUN apt-get update \ | |
&& apt-get -y install --no-install-recommends apt-utils dialog 2>&1 \ | |
# | |
# 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 \ | |
# | |
# Verify git, needed tools installed | |
&& apt-get -y install git openssh-client less iproute2 procps curl lsb-release | |
#-------------------Uncomment the following steps to install Maven CLI Tools---------------------------------- | |
ARG MAVEN_VERSION=3.6.3 | |
ARG MAVEN_SHA=c35a1803a6e70a126e80b2b3ae33eed961f83ed74d18fcd16909b2d44d7dada3203f1ffe726c17ef8dcca2dcaa9fca676987befeadc9b9f759967a8cb77181c0 | |
RUN mkdir -p /usr/share/maven /usr/share/maven/ref \ | |
&& curl -fsSL -o /tmp/apache-maven.tar.gz https://archive.apache.org/dist/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.tar.gz \ | |
&& echo "${MAVEN_SHA} /tmp/apache-maven.tar.gz" | sha512sum -c - \ | |
&& tar -xzf /tmp/apache-maven.tar.gz -C /usr/share/maven --strip-components=1 \ | |
&& rm -f /tmp/apache-maven.tar.gz \ | |
&& ln -s /usr/share/maven/bin/mvn /usr/bin/mvn | |
COPY maven-settings.xml /usr/share/maven/ref/ | |
ENV MAVEN_HOME /usr/share/maven | |
ENV MAVEN_CONFIG /root/.m2 | |
#------------------------------------------------------------------------------------------------------------- | |
#-------------------Uncomment the following steps to install Gradle CLI Tools--------------------------------- | |
# ENV GRADLE_HOME /opt/gradle | |
# ENV GRADLE_VERSION 5.4.1 | |
# ARG GRADLE_DOWNLOAD_SHA256=7bdbad1e4f54f13c8a78abc00c26d44dd8709d4aedb704d913fb1bb78ac025dc | |
# RUN curl -sSL --output gradle.zip "https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-bin.zip" \ | |
# && echo "${GRADLE_DOWNLOAD_SHA256} *gradle.zip" | sha256sum --check - \ | |
# && unzip gradle.zip \ | |
# && rm gradle.zip \ | |
# && mv "gradle-${GRADLE_VERSION}" "${GRADLE_HOME}/" \ | |
# && ln -s "${GRADLE_HOME}/bin/gradle" /usr/bin/gradle | |
#------------------------------------------------------------------------------------------------------------- | |
# Clean up | |
RUN apt-get autoremove -y \ | |
&& apt-get clean -y \ | |
&& rm -rf /var/lib/apt/lists/* | |
ENV DEBIAN_FRONTEND=dialog | |
# Allow for a consistant java home location for settings - image is changing over time | |
RUN if [ ! -d "/docker-java-home" ]; then ln -s "${JAVA_HOME}" /docker-java-home; fi |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment