PCD#130(building)
コンテナ ベスト プラクティスとしてイメージサイズと起動を最適化したい。Java アプリのビルドで採用すべき手法は。
正解:C
正解の根拠
Google の distroless イメージは OS パッケージや shell を含まず最小構成。多段ビルド (multi-stage build) でビルド成果物のみコピーすることで攻撃面とサイズを削減。
FROM maven:3-eclipse-temurin-17 AS build
COPY . .
RUN mvn package
FROM gcr.io/distroless/java17
COPY --from=build /app/target/app.jar /app.jar
CMD ["/app.jar"]不正解の理由
| 選択肢 | 問題点 |
|---|---|
| A | ubuntu:latest はサイズが大きくビルドツール同梱は本番用途で過剰 |
| B | ソースと Maven 同梱はサイズと攻撃面が増える |
| D | JDK 全部入りは JRE のみで十分な本番では肥大化する |

コメント