Просмотр исходного кода

add configuration to use sparkjava sample with Docker Dev Environments feature (#261)

Signed-off-by: Guillaume Lours <guillaume.lours@docker.com>
Guillaume Lours 3 лет назад
Родитель
Сommit
00c7d85f0e
3 измененных файлов с 34 добавлено и 0 удалено
  1. 9 0
      sparkjava/.docker/docker-compose.yaml
  2. 8 0
      sparkjava/README.md
  3. 17 0
      sparkjava/sparkjava/Dockerfile

+ 9 - 0
sparkjava/.docker/docker-compose.yaml

@@ -0,0 +1,9 @@
+services:
+  sparkjava:
+    build:
+      context: sparkjava
+      target: dev-envs
+    ports:
+      - 8080:8080
+    volumes:
+      - /var/run/docker.sock:/var/run/docker.sock

+ 8 - 0
sparkjava/README.md

@@ -59,3 +59,11 @@ Stopping sparkjava_sparkjava_1 ... done
 Removing sparkjava_sparkjava_1 ... done
 Removing network sparkjava_default
 ```
+
+## Use with Docker Development Environments
+
+You can use this sample with the Dev Environments feature of Docker Desktop.  
+To develop directly sparkjava service inside containers, you just need to use the https git url of the sample:  
+`https://github.com/docker/awesome-compose/tree/master/sparkjava`
+
+![page](../dev-envs.png)

+ 17 - 0
sparkjava/sparkjava/Dockerfile

@@ -1,3 +1,5 @@
+# syntax=docker/dockerfile:1.4
+
 FROM --platform=$BUILDPLATFORM maven:3.8.5-eclipse-temurin-17 AS build
 WORKDIR /workdir/server
 COPY pom.xml /workdir/server/pom.xml
@@ -7,6 +9,21 @@ COPY src /workdir/server/src
 
 RUN mvn --batch-mode clean compile assembly:single
 
+FROM build AS dev-envs
+RUN <<EOF
+apt-get update
+apt-get install -y --no-install-recommends git
+EOF
+
+RUN <<EOF
+useradd -s /bin/bash -m vscode
+groupadd docker
+usermod -aG docker vscode
+EOF
+# install Docker tools (cli, buildx, compose)
+COPY --from=gloursdocker/docker / /
+CMD ["java", "-jar", "target/app.jar" ]
+
 FROM eclipse-temurin:17-jre-focal
 ARG DEPENDENCY=/workdir/server/target
 EXPOSE 8080