-
-
Notifications
You must be signed in to change notification settings - Fork 290
Expand file tree
/
Copy pathDockerfile.jvm-package
More file actions
50 lines (39 loc) · 1.69 KB
/
Dockerfile.jvm-package
File metadata and controls
50 lines (39 loc) · 1.69 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
40
41
42
43
44
45
46
47
48
49
50
FROM eclipse-temurin:25-jre-alpine
ARG VERSION=latest
ARG INSTALL_AWS_CLI=false
ENV FLOCI_VERSION=${VERSION}
ENV FLOCI_STORAGE_PERSISTENT_PATH=/app/data
ENV GOSU_VERSION=1.17
ENV GOSU_AMD64_SHA256=bbc4136d03ab138b1ad66fa4fc051bafc6cc7ffae632b069a53657279a450de3
ENV GOSU_ARM64_SHA256=c3805a85d17f4454c23d7059bcb97e1ec1af272b90126e79ed002342de08389b
RUN set -eux; \
apk add --no-cache shadow ca-certificates; \
useradd -r -u 1001 -g root -d /app -s /sbin/nologin floci; \
arch="$(apk --print-arch)"; \
case "$arch" in \
x86_64) gosuArch='amd64'; gosuSha256="$GOSU_AMD64_SHA256" ;; \
aarch64) gosuArch='arm64'; gosuSha256="$GOSU_ARM64_SHA256" ;; \
*) echo >&2 "unsupported arch: $arch"; exit 1 ;; \
esac; \
wget -q -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/${GOSU_VERSION}/gosu-${gosuArch}"; \
echo "${gosuSha256} /usr/local/bin/gosu" | sha256sum -c -; \
chmod +x /usr/local/bin/gosu; \
gosu --version; \
gosu nobody true
WORKDIR /app
RUN mkdir -p /app/data \
&& chown 1001:root /app \
&& chmod "g+rwX" /app \
&& chown 1001:root /app/data \
&& if [ "$INSTALL_AWS_CLI" = "true" ]; then \
apk add --no-cache aws-cli; \
fi
VOLUME /app/data
COPY --chown=1001:root target/quarkus-app quarkus-app/
COPY docker/entrypoint.sh /usr/local/bin/docker-entrypoint.sh
RUN chmod +x /usr/local/bin/docker-entrypoint.sh
EXPOSE 4566 6379-6399
HEALTHCHECK --interval=5s --timeout=3s --retries=5 \
CMD wget -q --spider http://localhost:4566/_floci/health || exit 1
ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"]
CMD ["java", "-jar", "/app/quarkus-app/quarkus-run.jar", "-Dquarkus.http.host=0.0.0.0"]