Skip to content

Commit

Permalink
Merge pull request docker#9 from glours/update_sparkjava_samples
Browse files Browse the repository at this point in the history
Update SparkJava samples
  • Loading branch information
glours authored Mar 17, 2020
2 parents fdc1e84 + 3f8a58e commit 0b40d18
Showing 9 changed files with 41 additions and 33 deletions.
12 changes: 6 additions & 6 deletions sparkjava-mysql/README.md
Original file line number Diff line number Diff line change
@@ -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"]
```

16 changes: 10 additions & 6 deletions sparkjava-mysql/backend/Dockerfile
Original file line number Diff line number Diff line change
@@ -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
2 changes: 1 addition & 1 deletion sparkjava-mysql/backend/pom.xml
Original file line number Diff line number Diff line change
@@ -40,7 +40,7 @@
<dependency>
<groupId>com.sparkjava</groupId>
<artifactId>spark-core</artifactId>
<version>2.5</version>
<version>2.8.0</version>
</dependency>

<dependency>
4 changes: 2 additions & 2 deletions sparkjava-mysql/docker-compose.yaml
Original file line number Diff line number Diff line change
@@ -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 changes: 9 additions & 9 deletions sparkjava/README.md
Original file line number Diff line number Diff line change
@@ -18,20 +18,20 @@ 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

```
$ 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
2 changes: 1 addition & 1 deletion sparkjava/docker-compose.yaml
Original file line number Diff line number Diff line change
@@ -3,4 +3,4 @@ services:
sparkjava:
build: sparkjava
ports:
- 80:8080
- 8080:8080
16 changes: 10 additions & 6 deletions sparkjava/sparkjava/Dockerfile
Original file line number Diff line number Diff line change
@@ -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
2 changes: 1 addition & 1 deletion sparkjava/sparkjava/pom.xml
Original file line number Diff line number Diff line change
@@ -40,7 +40,7 @@
<dependency>
<groupId>com.sparkjava</groupId>
<artifactId>spark-core</artifactId>
<version>2.5</version>
<version>2.8.0</version>
</dependency>

</dependencies>
2 changes: 1 addition & 1 deletion sparkjava/sparkjava/src/main/java/App.java
Original file line number Diff line number Diff line change
@@ -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!");
}
}

0 comments on commit 0b40d18

Please sign in to comment.