-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile
More file actions
39 lines (38 loc) · 1.38 KB
/
Dockerfile
File metadata and controls
39 lines (38 loc) · 1.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
################################################
# Build container to assemble the jar
FROM gradle:6.3.0-jdk11 AS builder
ARG DEBIAN_FRONTEND=noninteractive
USER root
RUN apt-get update \
&& apt-get clean \
&& apt-get install -y -qq --no-install-recommends apt-utils maven \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY . /app
RUN gradle clean build --stacktrace
################################################
# Final container only containing jar and data
FROM ubuntu:20.04 AS runner
ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get update \
&& apt-get clean \
&& apt-get install -y -qq --no-install-recommends \
apt-utils \
openjdk-11-jre \
&& rm -rf /tmp/* /var/lib/apt/lists/* /var/tmp/* /usr/share/icons \
&& apt-get autoclean \
&& apt-get clean \
&& apt-get autoremove
# Add user to not run as root
RUN mkdir -p /app
RUN groupadd -g 999 appuser && useradd -r -u 999 -g appuser appuser
RUN chown -v -R appuser:appuser /app
# NOTE: removing version number in jar file due to wildcard problems in ENTRYPOINT (works with CMD)
COPY --from=builder /app/build/libs/techmap-scraping-system-*.jar /app/techmap-scraping-system.jar
# COPY --from=builder /app/build/libs/scrape.jar /app/techmap-scraping-system.jar
COPY --from=builder /app/start.sh /app/
RUN chmod +rx /app/start.sh
USER appuser
WORKDIR /app
ENV DOCKER_TAG=$DOCKER_TAG PATH=/app:$PATH
ENTRYPOINT ["./start.sh"]