mirror of
https://github.com/spring-projects/spring-petclinic.git
synced 2025-07-21 15:25:49 +00:00
Support for JetBrains IDEs in Dev Container (including the ability to run on a remote Docker server where the bind command does not allow the devcontainer to start).
This commit is contained in:
parent
516722647a
commit
a4806408be
5 changed files with 39 additions and 0 deletions
17
.devcontainer/jetbrains/Dockerfile
Normal file
17
.devcontainer/jetbrains/Dockerfile
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
ARG VARIANT=17-bullseye
|
||||||
|
FROM mcr.microsoft.com/vscode/devcontainers/java:0-${VARIANT}
|
||||||
|
|
||||||
|
RUN groupadd -r developer
|
||||||
|
RUN useradd -r -g developer -d /home/developer -s /bin/bash developer
|
||||||
|
RUN mkdir -p /home/developer && chown developer:developer /home/developer
|
||||||
|
|
||||||
|
ARG NODE_VERSION="none"
|
||||||
|
RUN if [ "${NODE_VERSION}" != "none" ]; then su vscode -c "umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi
|
||||||
|
|
||||||
|
ARG USER=vscode
|
||||||
|
VOLUME /home/$USER/.m2
|
||||||
|
VOLUME /home/$USER/.gradle
|
||||||
|
|
||||||
|
ARG JAVA_VERSION=17.0.7-ms
|
||||||
|
RUN sudo mkdir /home/$USER/.m2 /home/$USER/.gradle && sudo chown $USER:$USER /home/$USER/.m2 /home/$USER/.gradle
|
||||||
|
RUN bash -lc '. /usr/local/sdkman/bin/sdkman-init.sh && sdk install java $JAVA_VERSION && sdk use java $JAVA_VERSION'
|
19
.devcontainer/jetbrains/devcontainer.json
Normal file
19
.devcontainer/jetbrains/devcontainer.json
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
{
|
||||||
|
"name": "Petclinic",
|
||||||
|
"dockerFile": "Dockerfile",
|
||||||
|
"runArgs": [
|
||||||
|
"--mount",
|
||||||
|
"type=volume,source=maven-repo,target=/home/developer/.m2",
|
||||||
|
"--mount",
|
||||||
|
"type=volume,source=gradle-home,target=/home/developer/.gradle",
|
||||||
|
"--env",
|
||||||
|
"GRADLE_USER_HOME=/home/developer/.gradle"
|
||||||
|
],
|
||||||
|
"initializeCommand": "./.devcontainer/jetbrains/initializeCommands.sh",
|
||||||
|
"postCreateCommand": "sudo chown developer:developer /home/developer/.m2 /home/developer/.gradle",
|
||||||
|
"remoteUser": "developer",
|
||||||
|
"features": {
|
||||||
|
"docker-in-docker": "latest"
|
||||||
|
},
|
||||||
|
"forwardPorts": [8080]
|
||||||
|
}
|
3
.devcontainer/jetbrains/initializeCommands.sh
Executable file
3
.devcontainer/jetbrains/initializeCommands.sh
Executable file
|
@ -0,0 +1,3 @@
|
||||||
|
#!/bin/bash
|
||||||
|
docker volume inspect maven-repo >/dev/null 2>&1 || docker volume create maven-repo
|
||||||
|
docker volume inspect gradle-home >/dev/null 2>&1 || docker volume create gradle-home
|
Loading…
Reference in a new issue