Skip to content

Commit ae996d3

Browse files
authored
Create devdockdocker
1 parent 4514887 commit ae996d3

File tree

1 file changed

+47
-0
lines changed

1 file changed

+47
-0
lines changed

devdockdocker

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.238.0/containers/java/.devcontainer/base.Dockerfile
2+
3+
# [Choice] Java version (use -bullseye variants on local arm64/Apple Silicon): 11, 17, 11-bullseye, 17-bullseye, 11-buster, 17-buster
4+
ARG VARIANT="21-bullseye"
5+
FROM mcr.microsoft.com/vscode/devcontainers/java:1.1.0-${VARIANT}
6+
7+
# [Option] Install Maven
8+
ARG INSTALL_MAVEN="false"
9+
ARG MAVEN_VERSION=""
10+
# [Option] Install Gradle
11+
ARG INSTALL_GRADLE="false"
12+
ARG GRADLE_VERSION=""
13+
RUN if [ "${INSTALL_MAVEN}" = "true" ]; then su vscode -c "umask 0002 && . /usr/local/sdkman/bin/sdkman-init.sh && sdk install maven \"${MAVEN_VERSION}\""; fi \
14+
&& if [ "${INSTALL_GRADLE}" = "true" ]; then su vscode -c "umask 0002 && . /usr/local/sdkman/bin/sdkman-init.sh && sdk install gradle \"${GRADLE_VERSION}\""; fi
15+
16+
# [Choice] Node.js version: none, lts/*, 16, 14, 12, 10
17+
ARG NODE_VERSION="none"
18+
RUN if [ "${NODE_VERSION}" != "none" ]; then su vscode -c "umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi
19+
20+
# Install essential utilities
21+
RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
22+
&& apt-get install -y --no-install-recommends \
23+
curl \
24+
git \
25+
unzip \
26+
vim \
27+
wget \
28+
&& apt-get clean && rm -rf /var/lib/apt/lists/*
29+
30+
# Set default workspace directory
31+
WORKDIR /workspace
32+
33+
# Install Python and Pip
34+
ARG INSTALL_PYTHON="true"
35+
ARG PYTHON_VERSION="3.9"
36+
RUN if [ "${INSTALL_PYTHON}" = "true" ]; then \
37+
apt-get update && apt-get install -y python${PYTHON_VERSION} python3-pip \
38+
&& apt-get clean && rm -rf /var/lib/apt/lists/*; \
39+
fi
40+
41+
# Set environment variables
42+
ENV JAVA_HOME=/usr/local/sdkman/candidates/java/current
43+
ENV MAVEN_HOME=/usr/local/sdkman/candidates/maven/current
44+
ENV GRADLE_HOME=/usr/local/sdkman/candidates/gradle/current
45+
46+
# [Optional] Install global node packages.
47+
# RUN su vscode -c "source /usr/local/share/nvm/nvm.sh && npm install -g <your-package-here>" 2>&1

0 commit comments

Comments
 (0)