dius-java-faker
SUCCESS
2m 55s
History Source
SummaryIterations1Transcript5Dockerfile
01Iteration 1
WRITEWriteFile· step #1
0s
Dockerfile594 chars
text22 lines · 594 chars
# Multi-stage build for Java Faker project
# Stage 1: build with Maven
FROM maven:3.6.3-jdk-8 AS builder
WORKDIR /workspace

# Copy POM and source so we can leverage Docker layer caching
COPY pom.xml .
COPY src ./src

# Build the project (skip tests for quicker smoke build)
RUN mvn -B -DskipTests package

# Stage 2: runtime image
FROM openjdk:8-jre-slim
WORKDIR /app

# Copy the built jar from the builder stage
COPY --from=builder /workspace/target/javafaker-1.0.3-SNAPSHOT.jar /app/javafaker-1.0.3-SNAPSHOT.jar

# Provide an interactive shell for inspecting the container
CMD ["/bin/bash"]
WRITEWriteFile· step #2
0s
Dockerfile597 chars
text22 lines · 597 chars
# Multi-stage build for Java Faker project
# Stage 1: build with Maven
FROM maven:3.6.3-jdk-8 AS builder
WORKDIR /workspace

# Copy POM and source so we can leverage Docker layer caching
COPY pom.xml .
COPY src ./src

# Build the project (skip tests for quicker smoke build)
RUN mvn -B -DskipTests package

# Stage 2: runtime image
FROM openjdk:8-jre
WORKDIR /app

# Copy the built jar from the builder stage
COPY --from=builder /workspace/target/javafaker-1.0.3-SNAPSHOT.jar /app/javafaker-1.0.3-SNAPSHOT.jar

# Run the application by default
CMD ["java", "-jar", "javafaker-1.0.3-SNAPSHOT.jar"]
WRITEWriteFile· step #3
0s
Dockerfile601 bytes written
text22 lines · 601 chars
# Multi-stage build for Java Faker project
# Stage 1: build with Maven
FROM maven:3.6.3-jdk-8 AS builder
WORKDIR /workspace

# Copy POM and source so we can leverage Docker layer caching
COPY pom.xml .
COPY src ./src

# Build the project (skip tests for quicker smoke build)
RUN mvn -B -DskipTests package

# Stage 2: runtime image
FROM maven:3.6.3-jdk-8
WORKDIR /app

# Copy the built jar from the builder stage
COPY --from=builder /workspace/target/javafaker-1.0.3-SNAPSHOT.jar /app/javafaker-1.0.3-SNAPSHOT.jar

# Run the application by default
CMD ["java", "-jar", "javafaker-1.0.3-SNAPSHOT.jar"]
WRITEWriteFile· step #4
0s
.dockerignore210 bytes written
dockerignore19 lines · 210 chars
# Avoid sending large/unnecessary files to docker build context
.git
.gitignore
target/
**/target/
node_modules/
**/node_modules/
build/
out/
*.log
*.class
*.jar
*.war
*.ear
*.iml
*.idea/
*.settings/
.DS_Store
VERIFYVerifyBuild· step #5
1m 07s
VerifyBuildaccepted
Concerns: Runtime stage uses maven:3.6.3-jdk-8 for the final image; this makes the final image larger than necessary. Consider using a smaller JRE/JDK base image (e.g., openjdk:8-jre) for the runtime stage.
Smoke [PASS]: test -f /app/javafaker-1.0.3-SNAPSHOT.jar
Smoke [PASS]: jar tf /app/javafaker-1.0.3-SNAPSHOT.jar | head -n 1
Smoke [PASS]: java -version