eagler-1-12-4 / Dockerfile
soiz1's picture
Update Dockerfile
6a081de verified
# ---- builder: build Java -> JavaScript using gradle wrapper (TeaVM) ----
FROM openjdk:17-jdk-slim AS builder
WORKDIR /src
# 必要ツールを入れる
RUN apt-get update && \
apt-get install -y --no-install-recommends bash ca-certificates git wget unzip && \
rm -rf /var/lib/apt/lists/*
ENV JAVA_TOOL_OPTIONS="--enable-preview"
# ソースをコンテナにコピー
COPY . /src
# gradlew を実行可能にして、JavaScript を生成する gradle タスクを実行
# (リポジトリの README にある "CompileJS / generateJavaScript" 相当)
RUN chmod +x ./gradlew && \
# テストなどはスキップして素早くビルド(必要ならオプションを調整)
./gradlew generateJavaScript -x test --no-daemon
# ---- runtime: nginx serve built javascript ----
FROM nginx:stable-alpine AS runtime
# ビルド成果物(javascriptフォルダ)を nginx のドキュメントルートへコピー
COPY --from=builder /src/javascript /usr/share/nginx/html
# 必要ならカスタム nginx.conf を追加する(省略可)
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]