Skip to content

Commit 38c03c1

Browse files
committed
Dockerfile 추가
1 parent cf1b681 commit 38c03c1

1 file changed

Lines changed: 38 additions & 0 deletions

File tree

Dockerfile

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
FROM eclipse-temurin:17-jdk-alpine AS build
2+
3+
WORKDIR /app
4+
5+
RUN apk add --no-cache bash findutils gcompat
6+
7+
ENV GRADLE_OPTS="-Dorg.gradle.daemon=false -Dorg.gradle.parallel=true -Dorg.gradle.configureondemand=true -Dorg.gradle.caching=true -Dorg.gradle.configuration-cache=true -Dorg.gradle.unsafe.configuration-cache=true -Dorg.gradle.unsafe.configuration-cache-problems=warn -Dorg.gradle.workers.max=4 -Dorg.gradle.logging.level=lifecycle -XX:+UseContainerSupport -XX:MaxRAMPercentage=75.0 -XX:+UseG1GC -XX:G1HeapRegionSize=16m -XX:+UseStringDeduplication -XX:-UsePerfData -XX:+DisableExplicitGC -XX:MaxMetaspaceSize=512m -Dkotlin.compiler.execution.strategy=in-process -Dkotlin.incremental=false -Dkotlin.daemon.jvm.options=-Xmx1g -Dkotlin.parallel.tasks.in.project=true -Dfile.encoding=UTF-8 -Duser.country=US -Duser.language=en -Duser.timezone=UTC -Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom -Dorg.gradle.internal.http.connectionTimeout=60000 -Dorg.gradle.internal.http.socketTimeout=60000 -Dorg.gradle.internal.repository.max.tentatives=1 -Dorg.gradle.internal.repository.initial.backoff=500 -Dorg.gradle.internal.network.retry.max.times=2"
8+
9+
ENV GRADLE_USER_HOME="/cache/.gradle"
10+
11+
RUN mkdir -p /cache/.gradle
12+
13+
COPY ./build.gradle* ./settings.gradle* ./gradle.properties* ./gradlew* ./
14+
COPY ./gradle gradle
15+
16+
RUN chmod +x gradlew && ./gradlew --version
17+
RUN chmod +x gradlew && ./gradlew dependencies || true
18+
19+
COPY ./ .
20+
21+
RUN chmod +x gradlew && ./gradlew bootJar -x test && \
22+
rm -rf .gradle /app/.gradle /root/.kotlin /tmp/* /var/tmp/* /tmp/kotlin-daemon*.log* 2>/dev/null || true
23+
24+
FROM eclipse-temurin:17-jre-alpine
25+
26+
RUN apk add --no-cache tzdata && addgroup -g 1001 appgroup && adduser -u 1001 -G appgroup -s /bin/sh -D appuser
27+
28+
WORKDIR /app
29+
30+
ENV TZ=Asia/Seoul JAVA_OPTS="-XX:+UseContainerSupport -XX:MaxRAMPercentage=75.0 -XX:+UseG1GC -XX:G1HeapRegionSize=16m -XX:+UseStringDeduplication -XX:-UsePerfData"
31+
32+
COPY --from=build --chown=appuser:appgroup /app/casper-status/build/libs/casper-status-0.0.1.jar /tmp/libs/
33+
34+
RUN find /tmp/libs -name "*.jar" ! -name "*-plain.jar" -exec cp {} /app/app.jar \; && rm -rf /tmp/libs && chown appuser:appgroup /app/app.jar
35+
36+
USER appuser
37+
38+
ENTRYPOINT ["sh", "-c", "java $JAVA_OPTS -jar /app/app.jar"]

0 commit comments

Comments
 (0)