A Docker build file based on the offecial code-server image adding sdkman, which enables to manage JDK based SDKs or tools from the code-server terminal:
An easy way to try this image is using the following pre-built images, which bundle some SDK libraries and companion extensions.
$ docker run -it -p 8443:8443 -v "${PWD}:/home/developer/project:delegated" iwauo/code-server-sdkman-java:jdk8 --allow-http --no-auth
- N/A
- shan.code-settings-sync
- donjayamanne.githistory
- streetsidesoftware.code-spell-checker
- VisualStudioExptTeam.vscodeintellicode
- redhat.vscode-yaml
- java:8.0.212-zulu
- gradle:5.3.1
- redhat.java
- vscjava.vscode-java-debug
- vscjava.vscode-java-test
- vscjava.vscode-maven
- vscjava.vscode-java-dependency
- vscjava.vscode-spring-boot-dashboard
- Pivotal.vscode-spring-boot
- shengchen.vscode-checkstyle
- dgileadi.java-decompiler
- shan.code-settings-sync
- donjayamanne.githistory
- streetsidesoftware.code-spell-checker
- VisualStudioExptTeam.vscodeintellicode
- redhat.vscode-yaml
- java:8.0.212-zulu
- gradle:5.3.1
- kotlin:1.3.30
- fwcd.kotlin
- redhat.java
- vscjava.vscode-java-debug
- vscjava.vscode-java-test
- vscjava.vscode-maven
- vscjava.vscode-java-dependency
- vscjava.vscode-spring-boot-dashboard
- Pivotal.vscode-spring-boot
- shengchen.vscode-checkstyle
- dgileadi.java-decompiler
- shan.code-settings-sync
- donjayamanne.githistory
- streetsidesoftware.code-spell-checker
- VisualStudioExptTeam.vscodeintellicode
- redhat.vscode-yaml
You can customize the image with the following arguments:
CODE_SERVER_VERSION
: The version number of the base image.
Default: latest
SDKMAN_LIBS
: A whitespace separated list of the preinstalled SDK libraries.
Each entries is written in the following form: "library_name":"library_version"
VSCODE_EXTENSIONS : A whitespace separated list of the vscode extensions which are bundled the image. Each entries is written in the following form: "provider:extension_name" (This is shown in the top of the extension's page)
The following script is an example usage of these arugments:
docker build ../image_context \
--build-arg CODE_SERVER_VERSION="1.868" \
--build-arg SDKMAN_LIBS="java:8.0.212-zulu gradle:5.3.1" \
--build-arg VSCODE_EXTENSIONS="redhat.java vscjava.vscode-java-debug" \
-t custom-code-server:latest
The following example shows how to customize the image using Dockerfile.
FROM iwauo/code-server-sdkman:latest
RUN ./install_sdk \
java:8.0.212-zulu \
gradle:5.3.1 \
kotlin:1.3.30
RUN ./install_extension \
redhat.java \
vscjava.vscode-java-debug \
vscjava.vscode-java-test \
vscjava.vscode-maven \
redhat.vscode-yaml
ENTRYPOINT ["dumb-init", "code-server"]