FROM ubuntu:jammy-20260217
ENV JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF8"
RUN apt-get update && \
apt-get install -y --no-install-recommends \
openjdk-17-jdk \
curl \
ca-certificates \
tar \
xz-utils && \
update-ca-certificates && \
rm -rf /var/lib/apt/lists/*
WORKDIR /workspace
COPY . .
RUN chmod +x mvnw
RUN ./mvnw -V --no-transfer-progress clean install
CMD ["bash"]
__pycache__/ *.pyc *.pyo *.pyd *.class *.jar *.war *.nar *.tar.gz *.zip node_modules/ .target/ !.mvn/ .mvn/ **/.git **/.git/**
- Status: VerifyBuild status: build_failed.
- Key concerns:
- No .dockerignore shown; monorepos can bloat the build context.
- CMD uses a shell by default.
- Container won’t run the built application unless the entrypoint/cmd are overridden.
- Build trace (highlights):
- Instance/driver: docker driver, default.
- Step 1: [1/6] load build definition from Dockerfile (DONE 0.1s).
- Step 2: [2/6] load metadata for ubuntu:jammy-20260217 (DONE 0.7s).
- Image: ubuntu:jammy-20260217@sha256:bf7bfa0b43e40076229eec59a254f539fc4803accc2bd9049ecee8bf2da3bd02
- Step 3: [3] load .dockerignore (DONE 0.1s).
- Step 4: [4] load build context (5.21MB) (DONE 0.2s).
- Step 5: [5/6] FROM ubuntu:jammy-20260217@sha256:bf7bfa0b43e40076229eec59a254f539fc4803accc2bd9049ecee8bf2da3bd02
- Image resolution: CACHED
- Step 6: [6/6] RUN apt-get update && apt-get install -y --no-install-recommends openjdk-17-jdk curl ca-certificates tar xz-utils && update-ca-certificates && rm -rf /var/lib/apt/lists/*
- apt-get sources being fetched: jammy-security InRelease; jammy InRelease; jammy/universe/ etc.
- Packages requested: openjdk-17-jdk, curl, ca-certificates, tar, xz-utils
- The RUN step shows package fetch progress; exact success/failure not included in excerpt.
- Base image details:
- Image: ubuntu:jammy-20260217
- Reference: @sha256:bf7bfa0b43e40076229eec59a254f539fc4803accc2bd9049ecee8bf2da3bd02
- OS: Ubuntu Jammy (22.04)
- Actionable next steps:
- Review full build logs after Step 6 to identify the exact failure cause.
- Consider adding a proper .dockerignore to reduce context.
- If you need the container to run the built app, specify an explicit ENTRYPOINT/CMD (prefer the exec form) and override it when running..git/ **/.git/ target/ **/target/ .mvn/ **/.mvn/ build/ logs/ node_modules/ *.log *.tmp *.swp *.class *.jar
- Failing step: [6/6] RUN ./mvnw -V --no-transfer-progress clean install (Dockerfile:21) - Exit code: 1 - Docker: failed to build: failed to solve: process "/bin/sh -c ./mvnw -V --no-transfer-progress clean install" did not complete successfully: exit code: 1 - Exact error messages: - ./mvnw: 219: cannot open /workspace/.mvn/wrapper/maven-wrapper.properties: No such file - Warning: Failed to create the file /workspace/.mvn/wrapper/maven-wrapper.jar: - Warning: No such file or directory - curl: (23) Failure writing output to destination - Error: Could not find or load main class org.apache.maven.wrapper.MavenWrapperMain - Caused by: java.lang.ClassNotFoundException: org.apache.maven.wrapper.MavenWrapperMain - Missing files/packages: - /workspace/.mvn/wrapper/maven-wrapper.properties (missing) - /workspace/.mvn/wrapper/maven-wrapper.jar (curl failed) - Underlying issue: Maven wrapper cannot be initialized because wrapper properties/jar are missing due to curl failure - Version/mismatch information: - Base image: ubuntu:jammy-20260217 (digest: sha256:bf7bfa0b43e40076229eec59a254f539fc4803accc2bd9049ecee8bf2da3bd02) - No explicit Maven/Java version mismatch reported; openjdk-17-jdk installed; failure is due to missing Maven wrapper files rather than a version mismatch
FROM ubuntu:jammy-20260217
ENV JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF8"
RUN apt-get update && \
apt-get install -y --no-install-recommends \
openjdk-17-jdk \
maven \
curl \
ca-certificates \
tar \
xz-utils && \
update-ca-certificates && \
rm -rf /var/lib/apt/lists/*
WORKDIR /workspace
COPY . .
# Ensure mvnw is not required; use system Maven instead
RUN mvn -version
RUN mvn -V -DskipTests install -B
CMD ["bash"]
Concerns: FROM ubuntu:jammy-20260217 may be a stale tag; consider using a pinned digest or a more standard tag like ubuntu:22.04 for reproducibility., COPY . . copies the entire repo into the image; add a .dockerignore and consider copying only needed files to reduce image size and build time., Running mvn during image build will install dependencies and can be slow; ensure network access; consider multi-stage builds to separate build and runtime, or cache Maven layers. Smoke [PASS]: java -version Smoke [PASS]: mvn -version Smoke [PASS]: test -d /workspace && test -d /root/.m2 && echo OK