Skip to main content

Command Palette

Search for a command to run...

No match for platform in manifest

Updated
2 min read
No match for platform in manifest

Problem Statement

I ran into this issue today and it turns out because I use a Mac (M3) I was the only team member running into this given everyone else in the team uses Windows.

The error message "failed to solve: eclipse-temurin:17-jdk-alpine-3.21: failed to resolve source metadata for docker.io/library/eclipse-temurin:17-jdk-alpine-3.21: no match for platform in manifest: not found" indicates that Docker could not find a suitable image for the specified platform and tag. This typically occurs when the Docker daemon's architecture does not match the architecture of the image being requested, or when the image tag itself is incorrect or no longer available for the specified platform.

Potential Solutions

Potential solutions and troubleshooting steps:

  • Specify the platform explicitly: If building on a machine with a different architecture (e.g., an Apple Silicon Mac building for linux/amd64), explicitly specify the target platform in the Docker build command or docker-compose.yml file.

    • Docker Build:
      docker build --platform=linux/amd64 -t your-image-name .
      
    • Docker Compose:
        services:
          your_service:
            platform: linux/amd64
            image: eclipse-temurin:17-jdk-alpine-3.21
            # ... other configurations
      
  • Verify the image tag:

    Double-check that the tag 17-jdk-alpine-3.21 is indeed a valid and available tag for eclipse-temurin on Docker Hub, especially for the intended platform. Image tags can change or be removed over time. Consider using a more general tag like 17-jdk-alpine if 3.21 is a sub-version of Alpine that might not be consistently available with this specific Temurin release.

  • Network connectivity issues:

    Temporary network problems or VPN interference can sometimes prevent Docker from pulling image metadata.

    • Ensure a stable internet connection.

    • If using a VPN, try temporarily disabling it to see if it resolves the issue.

  • Clear Docker cache and re-authenticate: Corrupted Docker cache or authentication issues can also lead to metadata resolution problems.

    • Clear the Docker Buildx cache:
         sudo rm -rf ~/.docker/buildx
      
    • Log out and log back into Docker Hub:
         docker logout
         docker login
      
    • Consider alternative base images: If eclipse-temurin:17-jdk-alpine-3.21 continues to be problematic, consider using a different base image that provides Java 17 on Alpine, such as openjdk:17-jdk-alpine (though be aware of potential deprecation or platform limitations with openjdk Alpine images) or amazoncorretto:17-alpine

Conclusion

By systematically addressing these possibilities, the "no match for platform in manifest" error can typically be resolved.

10 views

More from this blog

Cloud Tuned

646 posts

Your starting point for anything cloud: AWS, Azure, GCP, Serverless, Architecture, Hybrid Cloud, Systems Design and other Information Technology topics.