Merge pull request #9 from glours/update_sparkjava_samples
Update SparkJava samples
This commit is contained in:
		
						commit
						0b40d180de
					
				
					 9 changed files with 41 additions and 33 deletions
				
			
		|  | @ -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"] | ||||
| ``` | ||||
| 
 | ||||
|  |  | |||
|  | @ -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 | ||||
|  |  | |||
|  | @ -40,7 +40,7 @@ | |||
|         <dependency> | ||||
|             <groupId>com.sparkjava</groupId> | ||||
|             <artifactId>spark-core</artifactId> | ||||
|             <version>2.5</version> | ||||
|             <version>2.8.0</version> | ||||
|         </dependency> | ||||
| 
 | ||||
|         <dependency> | ||||
|  |  | |||
|  | @ -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 | ||||
|  |  | |||
|  | @ -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 | ||||
|  |  | |||
|  | @ -3,4 +3,4 @@ services: | |||
|   sparkjava: | ||||
|     build: sparkjava | ||||
|     ports: | ||||
|     - 80:8080 | ||||
|     - 8080:8080 | ||||
|  |  | |||
|  | @ -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 | ||||
|  |  | |||
|  | @ -40,7 +40,7 @@ | |||
|         <dependency> | ||||
|             <groupId>com.sparkjava</groupId> | ||||
|             <artifactId>spark-core</artifactId> | ||||
|             <version>2.5</version> | ||||
|             <version>2.8.0</version> | ||||
|         </dependency> | ||||
| 
 | ||||
|     </dependencies> | ||||
|  |  | |||
|  | @ -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!"); | ||||
|     } | ||||
| } | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue