Docker improvements (#2088)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
This commit is contained in:
@@ -4,49 +4,42 @@ hawkBit Docker
|
|||||||
# Setup
|
# Setup
|
||||||
|
|
||||||
## A: Docker Container
|
## A: Docker Container
|
||||||
|
Start the hawkBit Update Server as a single container (requires Docker to be installed and all dependencies to be available)
|
||||||
Start the hawkBit Update Server as a single container
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ docker run -d -p 8080:8080 hawkbit/hawkbit-update-server:latest
|
$ docker run -d -p 8080:8080 hawkbit/hawkbit-update-server:latest
|
||||||
```
|
```
|
||||||
|
|
||||||
## B: Docker Compose
|
## B: Docker Compose
|
||||||
|
Start the hawkBit Update Server together with an MySQL and RabbitMQ instance as containers (Requires Docker Compose to be installed)
|
||||||
Start the hawkBit Update Server together with an MySQL and RabbitMQ instance as containers
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Requires Docker Compose to be installed
|
$ docker compose -f docker-compose-monolith-mysql.yml up
|
||||||
$ docker-compose up -d
|
|
||||||
```
|
```
|
||||||
|
You could, also start it in different flavours, with UI or in microservices mode.
|
||||||
|
|
||||||
## C: Docker Stack
|
Note: Whit the upper command CTRL+C shuts down all services. Add '-d' at the end to start all into detached mode:
|
||||||
|
|
||||||
Start the hawkBit Update Server and Device Simulator together with an MySQL and RabbitMQ instance as services within a
|
|
||||||
swarm
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ docker swarm init
|
$ docker compose -f docker-compose-monolith-mysql.yml up -d
|
||||||
$ docker stack deploy -c docker-compose-deps-mysql.yml hawkbit
|
```
|
||||||
|
Then stop all services with:
|
||||||
|
```bash
|
||||||
|
$ docker compose -f docker-compose-monolith-mysql.yml down
|
||||||
```
|
```
|
||||||
|
|
||||||
# Access
|
# Access
|
||||||
|
|
||||||
| Service / Container | URL | Login | A | B | C |
|
| Service / Container | URL | Login | A | B | C |
|
||||||
|--------------------------|--------------------------------------------------|-------------|----------|----------|----------|
|
|--------------------------|--------------------------------------------------|-------------|----------|----------|----------|
|
||||||
| hawkBit Update Server | [http://localhost:8080/](http://localhost:8080/) | admin:admin | ✓ | ✓ | ✓ |
|
| hawkBit Update Server | [http://localhost:8080/](http://localhost:8080/) | admin:admin | ✓ | ✓ | ✓ |
|
||||||
| hawkBit Device Simulator | [http://localhost:8083/](http://localhost:8083/) | - | | | ✓ |
|
|
||||||
| MySQL | localhost:3306/hawkbit | root | | ✓ | ✓ |
|
| MySQL | localhost:3306/hawkbit | root | | ✓ | ✓ |
|
||||||
| RabbitMQ | [http://localhost:15672](http://localhost:15672) | guest:guest | | ✓ | ✓ |
|
| RabbitMQ | [http://localhost:15672](http://localhost:15672) | guest:guest | | ✓ | ✓ |
|
||||||
|
|
||||||
# Configuration
|
# Configuration
|
||||||
|
You can override application.properties by setting an environment variable SPRING_APPLICATION_JSON for hawkbit container.
|
||||||
You can override application.properties by setting an environment variable SPRING_APPLICATION_JSON for hawkbit
|
|
||||||
container.
|
|
||||||
|
|
||||||
```
|
```
|
||||||
hawkbit:
|
hawkbit:
|
||||||
image: "hawkbit/hawkbit-update-server:latest-mysql"
|
image: "hawkbit/hawkbit-update-server:latest"
|
||||||
environment:
|
environment:
|
||||||
SPRING_APPLICATION_JSON: '{
|
SPRING_APPLICATION_JSON: '{
|
||||||
"spring.datasource.url": "jdbc:mariadb://mysql:3306/hawkbit",
|
"spring.datasource.url": "jdbc:mariadb://mysql:3306/hawkbit",
|
||||||
|
|||||||
@@ -1,93 +0,0 @@
|
|||||||
#
|
|
||||||
# Copyright (c) 2018 Bosch Software Innovations GmbH and others
|
|
||||||
#
|
|
||||||
# This program and the accompanying materials are made
|
|
||||||
# available under the terms of the Eclipse Public License 2.0
|
|
||||||
# which is available at https://www.eclipse.org/legal/epl-2.0/
|
|
||||||
#
|
|
||||||
# SPDX-License-Identifier: EPL-2.0
|
|
||||||
#
|
|
||||||
version: '3.7'
|
|
||||||
|
|
||||||
include:
|
|
||||||
- docker-compose-deps-mysql.yml
|
|
||||||
|
|
||||||
# EXPERIMENTAL!
|
|
||||||
services:
|
|
||||||
|
|
||||||
# ---------------------
|
|
||||||
# HawkBit DDI
|
|
||||||
# ---------------------
|
|
||||||
hawkbit-ddi:
|
|
||||||
image: "hawkbit/hawkbit-ddi-server:latest-mysql"
|
|
||||||
environment:
|
|
||||||
- 'SPRING_DATASOURCE_URL=jdbc:mariadb://mysql:3306/hawkbit'
|
|
||||||
- 'SPRING_RABBITMQ_HOST=rabbitmq'
|
|
||||||
- 'SPRING_RABBITMQ_USERNAME=guest'
|
|
||||||
- 'SPRING_RABBITMQ_PASSWORD=guest'
|
|
||||||
- 'SPRING_DATASOURCE_USERNAME=root'
|
|
||||||
restart: always
|
|
||||||
ports:
|
|
||||||
- "8081:8081"
|
|
||||||
depends_on:
|
|
||||||
mysql:
|
|
||||||
condition: service_healthy
|
|
||||||
labels:
|
|
||||||
NAME: "hawkbit-ddi"
|
|
||||||
|
|
||||||
# ---------------------
|
|
||||||
# HawkBit DMF
|
|
||||||
# ---------------------
|
|
||||||
hawkbit-dmf:
|
|
||||||
image: "hawkbit/hawkbit-dmf-server:latest-mysql"
|
|
||||||
environment:
|
|
||||||
- 'SPRING_DATASOURCE_URL=jdbc:mariadb://mysql:3306/hawkbit'
|
|
||||||
- 'SPRING_RABBITMQ_HOST=rabbitmq'
|
|
||||||
- 'SPRING_RABBITMQ_USERNAME=guest'
|
|
||||||
- 'SPRING_RABBITMQ_PASSWORD=guest'
|
|
||||||
- 'SPRING_DATASOURCE_USERNAME=root'
|
|
||||||
restart: always
|
|
||||||
depends_on:
|
|
||||||
mysql:
|
|
||||||
condition: service_healthy
|
|
||||||
labels:
|
|
||||||
NAME: "hawkbit-dmf"
|
|
||||||
|
|
||||||
# ---------------------
|
|
||||||
# HawkBit MGMT
|
|
||||||
# ---------------------
|
|
||||||
hawkbit-mgmt:
|
|
||||||
image: "hawkbit/hawkbit-mgmt-server:latest-mysql"
|
|
||||||
environment:
|
|
||||||
- 'SPRING_DATASOURCE_URL=jdbc:mariadb://mysql:3306/hawkbit'
|
|
||||||
- 'SPRING_RABBITMQ_HOST=rabbitmq'
|
|
||||||
- 'SPRING_RABBITMQ_USERNAME=guest'
|
|
||||||
- 'SPRING_RABBITMQ_PASSWORD=guest'
|
|
||||||
- 'SPRING_DATASOURCE_USERNAME=root'
|
|
||||||
volumes:
|
|
||||||
- artifactrepo:/artifactrepo
|
|
||||||
restart: always
|
|
||||||
ports:
|
|
||||||
- "8080:8080"
|
|
||||||
depends_on:
|
|
||||||
mysql:
|
|
||||||
condition: service_healthy
|
|
||||||
labels:
|
|
||||||
NAME: "hawkbit-mgmt"
|
|
||||||
|
|
||||||
# ---------------------
|
|
||||||
# HawkBit Simple UI
|
|
||||||
# ---------------------
|
|
||||||
hawkbit-simple-ui:
|
|
||||||
image: "hawkbit/hawkbit-simple-ui:latest-mysql"
|
|
||||||
environment:
|
|
||||||
- 'SPRING_APPLICATION_JSON={"hawkbit.server.mgmtUrl": "http://hawkbit-mgmt:8080"}'
|
|
||||||
restart: always
|
|
||||||
ports:
|
|
||||||
- 8088:8088
|
|
||||||
labels:
|
|
||||||
NAME: "hawkbit-simple-ui"
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
artifactrepo:
|
|
||||||
driver: local
|
|
||||||
@@ -12,7 +12,6 @@ version: '3.7'
|
|||||||
include:
|
include:
|
||||||
- docker-compose-deps-mysql.yml
|
- docker-compose-deps-mysql.yml
|
||||||
|
|
||||||
# EXPERIMENTAL!
|
|
||||||
services:
|
services:
|
||||||
|
|
||||||
# ---------------------
|
# ---------------------
|
||||||
@@ -21,6 +20,7 @@ services:
|
|||||||
hawkbit-ddi:
|
hawkbit-ddi:
|
||||||
image: "hawkbit/hawkbit-ddi-server:latest-mysql"
|
image: "hawkbit/hawkbit-ddi-server:latest-mysql"
|
||||||
environment:
|
environment:
|
||||||
|
- 'PROFILES=mysql'
|
||||||
- 'SPRING_DATASOURCE_URL=jdbc:mariadb://mysql:3306/hawkbit'
|
- 'SPRING_DATASOURCE_URL=jdbc:mariadb://mysql:3306/hawkbit'
|
||||||
- 'SPRING_RABBITMQ_HOST=rabbitmq'
|
- 'SPRING_RABBITMQ_HOST=rabbitmq'
|
||||||
- 'SPRING_RABBITMQ_USERNAME=guest'
|
- 'SPRING_RABBITMQ_USERNAME=guest'
|
||||||
|
|||||||
@@ -0,0 +1,32 @@
|
|||||||
|
#
|
||||||
|
# Copyright (c) 2018 Bosch Software Innovations GmbH and others
|
||||||
|
#
|
||||||
|
# This program and the accompanying materials are made
|
||||||
|
# available under the terms of the Eclipse Public License 2.0
|
||||||
|
# which is available at https://www.eclipse.org/legal/epl-2.0/
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: EPL-2.0
|
||||||
|
#
|
||||||
|
version: '3.7'
|
||||||
|
|
||||||
|
include:
|
||||||
|
- docker-compose-micro-services-mysql.yml
|
||||||
|
|
||||||
|
services:
|
||||||
|
|
||||||
|
# ---------------------
|
||||||
|
# HawkBit Simple UI
|
||||||
|
# ---------------------
|
||||||
|
hawkbit-simple-ui:
|
||||||
|
image: "hawkbit/hawkbit-simple-ui:latest-mysql"
|
||||||
|
environment:
|
||||||
|
- 'SPRING_APPLICATION_JSON={"hawkbit.server.mgmtUrl": "http://hawkbit-mgmt:8080"}'
|
||||||
|
restart: always
|
||||||
|
ports:
|
||||||
|
- 8088:8088
|
||||||
|
labels:
|
||||||
|
NAME: "hawkbit-simple-ui"
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
artifactrepo:
|
||||||
|
driver: local
|
||||||
@@ -1,82 +0,0 @@
|
|||||||
#
|
|
||||||
# Copyright (c) 2018 Bosch Software Innovations GmbH and others
|
|
||||||
#
|
|
||||||
# This program and the accompanying materials are made
|
|
||||||
# available under the terms of the Eclipse Public License 2.0
|
|
||||||
# which is available at https://www.eclipse.org/legal/epl-2.0/
|
|
||||||
#
|
|
||||||
# SPDX-License-Identifier: EPL-2.0
|
|
||||||
#
|
|
||||||
version: '3'
|
|
||||||
|
|
||||||
services:
|
|
||||||
|
|
||||||
# ---------------------
|
|
||||||
# RabbitMQ service
|
|
||||||
# ---------------------
|
|
||||||
rabbitmq:
|
|
||||||
image: "rabbitmq:3-management"
|
|
||||||
restart: always
|
|
||||||
ports:
|
|
||||||
- "15672:15672"
|
|
||||||
- "5672:5672"
|
|
||||||
labels:
|
|
||||||
NAME: "rabbitmq"
|
|
||||||
|
|
||||||
# ---------------------
|
|
||||||
# MySQL service
|
|
||||||
# ---------------------
|
|
||||||
mysql:
|
|
||||||
image: "mysql:8.0"
|
|
||||||
environment:
|
|
||||||
MYSQL_DATABASE: "hawkbit"
|
|
||||||
# MYSQL_USER: "root" is created by default in the container for mysql 8.0+
|
|
||||||
MYSQL_ALLOW_EMPTY_PASSWORD: "true"
|
|
||||||
restart: always
|
|
||||||
ports:
|
|
||||||
- "3306:3306"
|
|
||||||
healthcheck:
|
|
||||||
test: [ "CMD", "mysqladmin" ,"ping", "-h", "localhost" ]
|
|
||||||
timeout: 20s
|
|
||||||
retries: 10
|
|
||||||
labels:
|
|
||||||
NAME: "mysql"
|
|
||||||
|
|
||||||
# ---------------------
|
|
||||||
# HawkBit service
|
|
||||||
# ---------------------
|
|
||||||
hawkbit:
|
|
||||||
image: "hawkbit/hawkbit-update-server:latest-mysql"
|
|
||||||
environment:
|
|
||||||
- 'SPRING_DATASOURCE_URL=jdbc:mariadb://mysql:3306/hawkbit'
|
|
||||||
- 'SPRING_RABBITMQ_HOST=rabbitmq'
|
|
||||||
- 'SPRING_RABBITMQ_USERNAME=guest'
|
|
||||||
- 'SPRING_RABBITMQ_PASSWORD=guest'
|
|
||||||
- 'SPRING_DATASOURCE_USERNAME=root'
|
|
||||||
volumes:
|
|
||||||
- artifactrepo:/artifactrepo
|
|
||||||
restart: always
|
|
||||||
ports:
|
|
||||||
- "8080:8080"
|
|
||||||
depends_on:
|
|
||||||
mysql:
|
|
||||||
condition: service_healthy
|
|
||||||
labels:
|
|
||||||
NAME: "hawkbit"
|
|
||||||
|
|
||||||
# ---------------------
|
|
||||||
# HawkBit Simple UI service
|
|
||||||
# ---------------------
|
|
||||||
hawkbit-simple-ui:
|
|
||||||
image: "hawkbit/hawkbit-simple-ui:latest-mysql"
|
|
||||||
environment:
|
|
||||||
- 'SPRING_APPLICATION_JSON={"hawkbit.server.mgmtUrl": "http://hawkbit:8080"}'
|
|
||||||
restart: always
|
|
||||||
ports:
|
|
||||||
- 8088:8088
|
|
||||||
labels:
|
|
||||||
NAME: "hawkbit-simple-ui"
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
artifactrepo:
|
|
||||||
driver: local
|
|
||||||
@@ -9,45 +9,18 @@
|
|||||||
#
|
#
|
||||||
version: '3'
|
version: '3'
|
||||||
|
|
||||||
|
include:
|
||||||
|
- docker-compose-deps-mysql.yml
|
||||||
|
|
||||||
services:
|
services:
|
||||||
|
|
||||||
# ---------------------
|
|
||||||
# RabbitMQ service
|
|
||||||
# ---------------------
|
|
||||||
rabbitmq:
|
|
||||||
image: "rabbitmq:3-management"
|
|
||||||
restart: always
|
|
||||||
ports:
|
|
||||||
- "15672:15672"
|
|
||||||
- "5672:5672"
|
|
||||||
labels:
|
|
||||||
NAME: "rabbitmq"
|
|
||||||
|
|
||||||
# ---------------------
|
|
||||||
# MySQL service
|
|
||||||
# ---------------------
|
|
||||||
mysql:
|
|
||||||
image: "mysql:8.0"
|
|
||||||
environment:
|
|
||||||
MYSQL_DATABASE: "hawkbit"
|
|
||||||
# MYSQL_USER: "root" is created by default in the container for mysql 8.0+
|
|
||||||
MYSQL_ALLOW_EMPTY_PASSWORD: "true"
|
|
||||||
restart: always
|
|
||||||
ports:
|
|
||||||
- "3306:3306"
|
|
||||||
healthcheck:
|
|
||||||
test: [ "CMD", "mysqladmin" ,"ping", "-h", "localhost" ]
|
|
||||||
timeout: 20s
|
|
||||||
retries: 10
|
|
||||||
labels:
|
|
||||||
NAME: "mysql"
|
|
||||||
|
|
||||||
# ---------------------
|
# ---------------------
|
||||||
# HawkBit service
|
# HawkBit service
|
||||||
# ---------------------
|
# ---------------------
|
||||||
hawkbit:
|
hawkbit:
|
||||||
image: "hawkbit/hawkbit-update-server:latest-mysql"
|
image: "hawkbit/hawkbit-update-server:latest-mysql"
|
||||||
environment:
|
environment:
|
||||||
|
- 'PROFILES=mysql'
|
||||||
- 'SPRING_DATASOURCE_URL=jdbc:mariadb://mysql:3306/hawkbit'
|
- 'SPRING_DATASOURCE_URL=jdbc:mariadb://mysql:3306/hawkbit'
|
||||||
- 'SPRING_RABBITMQ_HOST=rabbitmq'
|
- 'SPRING_RABBITMQ_HOST=rabbitmq'
|
||||||
- 'SPRING_RABBITMQ_USERNAME=guest'
|
- 'SPRING_RABBITMQ_USERNAME=guest'
|
||||||
|
|||||||
32
docker/docker-compose-monolith-with-simple-ui-mysql.yml
Normal file
32
docker/docker-compose-monolith-with-simple-ui-mysql.yml
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
#
|
||||||
|
# Copyright (c) 2018 Bosch Software Innovations GmbH and others
|
||||||
|
#
|
||||||
|
# This program and the accompanying materials are made
|
||||||
|
# available under the terms of the Eclipse Public License 2.0
|
||||||
|
# which is available at https://www.eclipse.org/legal/epl-2.0/
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: EPL-2.0
|
||||||
|
#
|
||||||
|
version: '3'
|
||||||
|
|
||||||
|
include:
|
||||||
|
- docker-compose-monolith-mysql.yml
|
||||||
|
|
||||||
|
services:
|
||||||
|
|
||||||
|
# ---------------------
|
||||||
|
# HawkBit Simple UI service
|
||||||
|
# ---------------------
|
||||||
|
hawkbit-simple-ui:
|
||||||
|
image: "hawkbit/hawkbit-simple-ui:latest-mysql"
|
||||||
|
environment:
|
||||||
|
- 'SPRING_APPLICATION_JSON={"hawkbit.server.mgmtUrl": "http://hawkbit:8080"}'
|
||||||
|
restart: always
|
||||||
|
ports:
|
||||||
|
- 8088:8088
|
||||||
|
labels:
|
||||||
|
NAME: "hawkbit-simple-ui"
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
artifactrepo:
|
||||||
|
driver: local
|
||||||
@@ -37,9 +37,24 @@ COPY --from=build ${BUILD_DIR}/spring-boot-loader/ ./
|
|||||||
COPY --from=build ${BUILD_DIR}/snapshot-dependencies/ ./
|
COPY --from=build ${BUILD_DIR}/snapshot-dependencies/ ./
|
||||||
COPY --from=build ${BUILD_DIR}/application/ ./
|
COPY --from=build ${BUILD_DIR}/application/ ./
|
||||||
|
|
||||||
ARG CONTAINER_PORT=8080
|
|
||||||
ENV JAVA_OPTS="-Xms768m -Xmx768m -XX:MaxMetaspaceSize=250m -XX:MetaspaceSize=250m -Xss300K -XX:+UseG1GC -XX:+UseStringDeduplication -XX:+UseCompressedOops -XX:+HeapDumpOnOutOfMemoryError"
|
|
||||||
|
|
||||||
VOLUME "/artifactrepo"
|
VOLUME "/artifactrepo"
|
||||||
|
|
||||||
|
ARG CONTAINER_PORT=8080
|
||||||
EXPOSE ${CONTAINER_PORT}
|
EXPOSE ${CONTAINER_PORT}
|
||||||
ENTRYPOINT ["sh", "-c", "java ${JAVA_OPTS} org.springframework.boot.loader.launch.JarLauncher ${@}"]
|
|
||||||
|
ARG PROFILES=h2
|
||||||
|
ENV PROFILES=${PROFILES}
|
||||||
|
ARG X_MS=768m
|
||||||
|
ENV X_MS=${X_MS}
|
||||||
|
ARG X_MX=768m
|
||||||
|
ENV X_MX=${X_MX}
|
||||||
|
ARG XX_MAX_METASPACE_SIZE=250m
|
||||||
|
ENV XX_MAX_METASPACE_SIZE=${XX_MAX_METASPACE_SIZE}
|
||||||
|
ARG XX_METASPACE_SIZE=250m
|
||||||
|
ENV XX_METASPACE_SIZE=${XX_METASPACE_SIZE}
|
||||||
|
ARG XSS=300K
|
||||||
|
ENV XSS=${XSS}
|
||||||
|
ARG GC=G1
|
||||||
|
ENV GC=${GC}
|
||||||
|
|
||||||
|
ENTRYPOINT ["sh", "-c", "java ${JAVA_OPTS} -Dspring.profiles.active=${PROFILES} -Xms${X_MS} -Xmx${X_MX} -XX:MaxMetaspaceSize=${XX_MAX_METASPACE_SIZE} -XX:MetaspaceSize=${XX_METASPACE_SIZE} -Xss${XSS} -XX:+Use${GC}GC -XX:+UseStringDeduplication -XX:+UseCompressedOops -XX:+HeapDumpOnOutOfMemoryError org.springframework.boot.loader.launch.JarLauncher ${@}"]
|
||||||
|
|||||||
@@ -49,9 +49,24 @@ COPY --from=build ${BUILD_DIR}/application/ ./
|
|||||||
ARG MARIADB_DRIVER_VERSION=3.1.4
|
ARG MARIADB_DRIVER_VERSION=3.1.4
|
||||||
COPY --from=build ${BUILD_DIR}/mariadb-java-client-${MARIADB_DRIVER_VERSION}.jar ./BOOT-INF/lib/
|
COPY --from=build ${BUILD_DIR}/mariadb-java-client-${MARIADB_DRIVER_VERSION}.jar ./BOOT-INF/lib/
|
||||||
|
|
||||||
ARG CONTAINER_PORT=8080
|
|
||||||
ENV JAVA_OPTS="-Dspring.profiles.active=mysql -Xms768m -Xmx768m -XX:MaxMetaspaceSize=250m -XX:MetaspaceSize=250m -Xss300K -XX:+UseG1GC -XX:+UseStringDeduplication -XX:+UseCompressedOops -XX:+HeapDumpOnOutOfMemoryError"
|
|
||||||
|
|
||||||
VOLUME "/artifactrepo"
|
VOLUME "/artifactrepo"
|
||||||
|
|
||||||
|
ARG CONTAINER_PORT=8080
|
||||||
EXPOSE ${CONTAINER_PORT}
|
EXPOSE ${CONTAINER_PORT}
|
||||||
ENTRYPOINT ["sh", "-c", "java ${JAVA_OPTS} org.springframework.boot.loader.launch.JarLauncher ${@}"]
|
|
||||||
|
ARG PROFILES=mysql
|
||||||
|
ENV PROFILES=${PROFILES}
|
||||||
|
ARG X_MS=768m
|
||||||
|
ENV X_MS=${X_MS}
|
||||||
|
ARG X_MX=768m
|
||||||
|
ENV X_MX=${X_MX}
|
||||||
|
ARG XX_MAX_METASPACE_SIZE=250m
|
||||||
|
ENV XX_MAX_METASPACE_SIZE=${XX_MAX_METASPACE_SIZE}
|
||||||
|
ARG XX_METASPACE_SIZE=250m
|
||||||
|
ENV XX_METASPACE_SIZE=${XX_METASPACE_SIZE}
|
||||||
|
ARG XSS=300K
|
||||||
|
ENV XSS=${XSS}
|
||||||
|
ARG GC=G1
|
||||||
|
ENV GC=${GC}
|
||||||
|
|
||||||
|
ENTRYPOINT ["sh", "-c", "java ${JAVA_OPTS} -Dspring.profiles.active=${PROFILES} -Xms${X_MS} -Xmx${X_MX} -XX:MaxMetaspaceSize=${XX_MAX_METASPACE_SIZE} -XX:MetaspaceSize=${XX_METASPACE_SIZE} -Xss${XSS} -XX:+Use${GC}GC -XX:+UseStringDeduplication -XX:+UseCompressedOops -XX:+HeapDumpOnOutOfMemoryError org.springframework.boot.loader.launch.JarLauncher ${@}"]
|
||||||
|
|||||||
@@ -30,9 +30,24 @@ COPY --from=build ${BUILD_DIR}/spring-boot-loader/ ./
|
|||||||
COPY --from=build ${BUILD_DIR}/snapshot-dependencies/ ./
|
COPY --from=build ${BUILD_DIR}/snapshot-dependencies/ ./
|
||||||
COPY --from=build ${BUILD_DIR}/application/ ./
|
COPY --from=build ${BUILD_DIR}/application/ ./
|
||||||
|
|
||||||
ARG CONTAINER_PORT=8080
|
|
||||||
ENV JAVA_OPTS="-Xms768m -Xmx768m -XX:MaxMetaspaceSize=250m -XX:MetaspaceSize=250m -Xss300K -XX:+UseG1GC -XX:+UseStringDeduplication -XX:+UseCompressedOops -XX:+HeapDumpOnOutOfMemoryError"
|
|
||||||
|
|
||||||
VOLUME "/artifactrepo"
|
VOLUME "/artifactrepo"
|
||||||
|
|
||||||
|
ARG CONTAINER_PORT=8080
|
||||||
EXPOSE ${CONTAINER_PORT}
|
EXPOSE ${CONTAINER_PORT}
|
||||||
ENTRYPOINT ["sh", "-c", "java ${JAVA_OPTS} org.springframework.boot.loader.launch.JarLauncher ${@}"]
|
|
||||||
|
ARG PROFILES=h2
|
||||||
|
ENV PROFILES=${PROFILES}
|
||||||
|
ARG X_MS=768m
|
||||||
|
ENV X_MS=${X_MS}
|
||||||
|
ARG X_MX=768m
|
||||||
|
ENV X_MX=${X_MX}
|
||||||
|
ARG XX_MAX_METASPACE_SIZE=250m
|
||||||
|
ENV XX_MAX_METASPACE_SIZE=${XX_MAX_METASPACE_SIZE}
|
||||||
|
ARG XX_METASPACE_SIZE=250m
|
||||||
|
ENV XX_METASPACE_SIZE=${XX_METASPACE_SIZE}
|
||||||
|
ARG XSS=300K
|
||||||
|
ENV XSS=${XSS}
|
||||||
|
ARG GC=G1
|
||||||
|
ENV GC=${GC}
|
||||||
|
|
||||||
|
ENTRYPOINT ["sh", "-c", "java ${JAVA_OPTS} -Dspring.profiles.active=${PROFILES} -Xms${X_MS} -Xmx${X_MX} -XX:MaxMetaspaceSize=${XX_MAX_METASPACE_SIZE} -XX:MetaspaceSize=${XX_METASPACE_SIZE} -Xss${XSS} -XX:+Use${GC}GC -XX:+UseStringDeduplication -XX:+UseCompressedOops -XX:+HeapDumpOnOutOfMemoryError org.springframework.boot.loader.launch.JarLauncher ${@}"]
|
||||||
|
|||||||
@@ -32,9 +32,25 @@ COPY --from=build ${BUILD_DIR}/application/ ./
|
|||||||
ARG MARIADB_DRIVER_VERSION=3.1.4
|
ARG MARIADB_DRIVER_VERSION=3.1.4
|
||||||
COPY org/mariadb/jdbc/mariadb-java-client/${MARIADB_DRIVER_VERSION}/mariadb-java-client-${MARIADB_DRIVER_VERSION}.jar ./BOOT-INF/lib/
|
COPY org/mariadb/jdbc/mariadb-java-client/${MARIADB_DRIVER_VERSION}/mariadb-java-client-${MARIADB_DRIVER_VERSION}.jar ./BOOT-INF/lib/
|
||||||
|
|
||||||
ARG CONTAINER_PORT=8080
|
|
||||||
ENV JAVA_OPTS="-Dspring.profiles.active=mysql -Xms768m -Xmx768m -XX:MaxMetaspaceSize=250m -XX:MetaspaceSize=250m -Xss300K -XX:+UseG1GC -XX:+UseStringDeduplication -XX:+UseCompressedOops -XX:+HeapDumpOnOutOfMemoryError"
|
|
||||||
|
|
||||||
VOLUME "/artifactrepo"
|
VOLUME "/artifactrepo"
|
||||||
|
|
||||||
|
ARG CONTAINER_PORT=8080
|
||||||
EXPOSE ${CONTAINER_PORT}
|
EXPOSE ${CONTAINER_PORT}
|
||||||
ENTRYPOINT ["sh", "-c", "java ${JAVA_OPTS} org.springframework.boot.loader.launch.JarLauncher ${@}"]
|
|
||||||
|
ARG PROFILES=mysql
|
||||||
|
ENV PROFILES=${PROFILES}
|
||||||
|
ARG X_MS=768m
|
||||||
|
ENV X_MS=${X_MS}
|
||||||
|
ARG X_MX=768m
|
||||||
|
ENV X_MX=${X_MX}
|
||||||
|
ARG XX_MAX_METASPACE_SIZE=250m
|
||||||
|
ENV XX_MAX_METASPACE_SIZE=${XX_MAX_METASPACE_SIZE}
|
||||||
|
ARG XX_METASPACE_SIZE=250m
|
||||||
|
ENV XX_METASPACE_SIZE=${XX_METASPACE_SIZE}
|
||||||
|
ARG XSS=300K
|
||||||
|
ENV XSS=${XSS}
|
||||||
|
ARG GC=G1
|
||||||
|
ENV GC=${GC}
|
||||||
|
|
||||||
|
ENTRYPOINT ["sh", "-c", "java ${JAVA_OPTS} -Dspring.profiles.active=${PROFILES} -Xms${X_MS} -Xmx${X_MX} -XX:MaxMetaspaceSize=${XX_MAX_METASPACE_SIZE} -XX:MetaspaceSize=${XX_METASPACE_SIZE} -Xss${XSS} -XX:+Use${GC}GC -XX:+UseStringDeduplication -XX:+UseCompressedOops -XX:+HeapDumpOnOutOfMemoryError org.springframework.boot.loader.launch.JarLauncher ${@}"]
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user