29 lines
1.3 KiB
Docker
29 lines
1.3 KiB
Docker
# syntax=docker/dockerfile:1
|
|
|
|
# Базовые образы вынесены в ARG — если у вас есть корпоративный Artifactory (как в примере
|
|
# artifactory.emias.ru/docker/maven, artifactory.emias.ru/docker/emiasos-openjdk), просто
|
|
# переопределите их при сборке:
|
|
# docker build \
|
|
# --build-arg BUILD_IMAGE=artifactory.emias.ru/docker/maven:3.8.6-openjdk-11 \
|
|
# --build-arg RUNTIME_IMAGE=artifactory.emias.ru/docker/emiasos-openjdk:11 \
|
|
# -t fuel-notifier:latest .
|
|
ARG BUILD_IMAGE=maven:3.8.6-eclipse-temurin-11
|
|
ARG RUNTIME_IMAGE=eclipse-temurin:11-jre-jammy
|
|
|
|
FROM ${BUILD_IMAGE} AS build
|
|
RUN mkdir -p /build/source
|
|
COPY . /build/source
|
|
WORKDIR /build/source
|
|
# Проект не мультимодульный (в отличие от примера с -pl startup,db_helper,export) —
|
|
# собираем целиком одним модулем.
|
|
RUN mvn clean package
|
|
|
|
# Образ сервиса fuel-notifier
|
|
FROM ${RUNTIME_IMAGE} AS fuelbot
|
|
RUN useradd --system --create-home --shell /usr/sbin/nologin appuser
|
|
COPY --from=build /build/source/target/fuel-notifier.jar /data/app/fuel-notifier.jar
|
|
WORKDIR /data/app
|
|
USER appuser
|
|
EXPOSE 8080
|
|
ENTRYPOINT ["sh", "-c", "java $JAVA_OPTS -jar /data/app/fuel-notifier.jar"]
|