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

Merge pull request #9 from glours/update_sparkjava_samples

Update SparkJava samples
Guillaume LOURS 5 лет назад
Родитель
Сommit
0b40d180de

+ 6 - 6
sparkjava-mysql/README.md

@@ -21,14 +21,14 @@ services:
   backend:
     build: backend
     ports:
-    - 80:8080
+    - 8080:8080
   db:
-    image: mysql:5.7
+    image: mysql:8.0.19
     ...
 ```
 The compose file defines an application with two services `backend` and `db`.
 When deploying the application, docker-compose maps port 8080 of the backend service container to port 80 of the host as specified in the file.
-Make sure port 80 on the host is not already being in use.
+Make sure port 8080 on the host is not already being in use.
 
 ## Deploy with docker-compose
 
@@ -49,13 +49,13 @@ Listing containers must show two containers running and the port mapping as belo
 ```
 $ docker ps
 CONTAINER ID        IMAGE                     COMMAND                  CREATED             STATUS              PORTS                  NAMES
-ee1e4f05d9f6        sparkjava-mysql_backend   "/bin/sh -c 'java -j…"   44 seconds ago      Up 43 seconds       0.0.0.0:80->8080/tcp   sparkjava-mysql_backend_1
-716025ddf65b        mysql:5.7                 "docker-entrypoint.s…"   44 seconds ago      Up 43 seconds       3306/tcp, 33060/tcp    sparkjava-mysql_db_1
+ee1e4f05d9f6        sparkjava-mysql_backend   "/bin/sh -c 'java -j…"   44 seconds ago      Up 43 seconds       0.0.0.0:8080->8080/tcp   sparkjava-mysql_backend_1
+716025ddf65b        mysql:8.0.19              "docker-entrypoint.s…"   44 seconds ago      Up 43 seconds       3306/tcp, 33060/tcp    sparkjava-mysql_db_1
 ```
 
 After the application starts, run:
 ```
-$ curl localhost:80
+$ curl localhost:8080
 ["Blog post #0","Blog post #1","Blog post #2","Blog post #3","Blog post #4"]
 ```
 

+ 10 - 6
sparkjava-mysql/backend/Dockerfile

@@ -1,10 +1,14 @@
-FROM maven:3.5-jdk-8-alpine AS build
-COPY pom.xml .
-RUN mvn --batch-mode dependency:resolve
-COPY src/ src
+FROM maven:3.6.3-jdk-11 AS build
+WORKDIR /workdir/server
+COPY pom.xml /workdir/server/pom.xml
+RUN mvn dependency:go-offline
+
+COPY src /workdir/server/src
+
 RUN mvn --batch-mode clean compile assembly:single
 
-FROM openjdk:8-jre-alpine3.7
+FROM openjdk:11-jre-slim
+ARG DEPENDENCY=/workdir/server/target
 EXPOSE 8080
-COPY --from=build target/app.jar /app.jar
+COPY --from=build ${DEPENDENCY}/app.jar /app.jar
 CMD java -jar /app.jar

+ 1 - 1
sparkjava-mysql/backend/pom.xml

@@ -40,7 +40,7 @@
         <dependency>
             <groupId>com.sparkjava</groupId>
             <artifactId>spark-core</artifactId>
-            <version>2.5</version>
+            <version>2.8.0</version>
         </dependency>
 
         <dependency>

+ 2 - 2
sparkjava-mysql/docker-compose.yaml

@@ -3,14 +3,14 @@ services:
   backend:
     build: backend
     ports:
-    - 80:8080
+    - 8080:8080
     secrets:
     - db-password
   db:
     environment:
       MYSQL_DATABASE: example
       MYSQL_ROOT_PASSWORD_FILE: /run/secrets/db-password
-    image: mysql:5.7
+    image: mysql:8.0.19
     restart: always
     secrets:
     - db-password

+ 9 - 9
sparkjava/README.md

@@ -18,11 +18,11 @@ services:
   sparkjava:
     build: sparkjava
     ports:
-    - 80:8080
+    - 8080:8080
 ```
 The compose file defines an application with one service `sparkjava`.
-When deploying the application, docker-compose maps port 8080 of the sparkjava service container to port 80 of the host as specified in the file.
-Make sure port 80 on the host is not already being in use.
+When deploying the application, docker-compose maps port 8080 of the sparkjava service container to port 8080 of the host as specified in the file.
+Make sure port 8080 on the host is not already being in use.
 
 ## Deploy with docker-compose
 
@@ -30,8 +30,8 @@ Make sure port 80 on the host is not already being in use.
 $ docker-compose up -d
 Creating network "sparkjava_default" with the default driver
 Building sparkjava
-Step 1/9 : FROM maven:3.5-jdk-8-alpine AS build
-3.5-jdk-8-alpine: Pulling from library/maven
+Step 1/11 : FROM maven:3.6.3-jdk-11 AS build
+3.6.3-jdk-11: Pulling from library/maven
 ...
 Successfully tagged sparkjava_sparkjava:latest
 WARNING: Image for service sparkjava was built because it did not already exist. To rebuild this image you must use `docker-compose build` or `docker-compose up --build`.
@@ -44,13 +44,13 @@ Listing containers must show two containers running and the port mapping as belo
 ```
 $ docker ps
 CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS              PORTS                  NAMES
-5af94cb25394        sparkjava_sparkjava   "/bin/sh -c 'java -j…"   20 seconds ago      Up 19 seconds       0.0.0.0:80->8080/tcp   sparkjava_sparkjava_1
+5af94cb25394        sparkjava_sparkjava   "/bin/sh -c 'java -j…"   20 seconds ago      Up 19 seconds       0.0.0.0:8080->8080/tcp   sparkjava_sparkjava_1
 ```
 
-After the application starts, navigate to `http://localhost:80` in your web browser or run:
+After the application starts, navigate to `http://localhost:8080` in your web browser or run:
 ```
-$ curl localhost:80
-Hello world
+$ curl localhost:8080
+Hello from Docker!
 ```
 
 Stop and remove the containers

+ 1 - 1
sparkjava/docker-compose.yaml

@@ -3,4 +3,4 @@ services:
   sparkjava:
     build: sparkjava
     ports:
-    - 80:8080
+    - 8080:8080

+ 10 - 6
sparkjava/sparkjava/Dockerfile

@@ -1,10 +1,14 @@
-FROM maven:3.5-jdk-8-alpine AS build
-COPY pom.xml .
-RUN mvn --batch-mode dependency:resolve
-COPY src/ src
+FROM maven:3.6.3-jdk-11 AS build
+WORKDIR /workdir/server
+COPY pom.xml /workdir/server/pom.xml
+RUN mvn dependency:go-offline
+
+COPY src /workdir/server/src
+
 RUN mvn --batch-mode clean compile assembly:single
 
-FROM openjdk:8-jre-alpine3.7
+FROM openjdk:11-jre-slim
+ARG DEPENDENCY=/workdir/server/target
 EXPOSE 8080
-COPY --from=build target/app.jar /app.jar
+COPY --from=build ${DEPENDENCY}/app.jar /app.jar
 CMD java -jar /app.jar

+ 1 - 1
sparkjava/sparkjava/pom.xml

@@ -40,7 +40,7 @@
         <dependency>
             <groupId>com.sparkjava</groupId>
             <artifactId>spark-core</artifactId>
-            <version>2.5</version>
+            <version>2.8.0</version>
         </dependency>
 
     </dependencies>

+ 1 - 1
sparkjava/sparkjava/src/main/java/App.java

@@ -4,6 +4,6 @@ public class App {
     public static void main(String[] args) {
         port(8080);
 
-        get("/", (req, res) -> "Hello world");
+        get("/", (req, res) -> "Hello from Docker!");
     }
 }