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 ordocker-compose.ymlfile.- 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
- Docker Build:
Verify the image tag:
Double-check that the tag
17-jdk-alpine-3.21is indeed a valid and available tag foreclipse-temurinon Docker Hub, especially for the intended platform. Image tags can change or be removed over time. Consider using a more general tag like17-jdk-alpineif3.21is 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
- Clear the Docker Buildx cache:
Conclusion
By systematically addressing these possibilities, the "no match for platform in manifest" error can typically be resolved.




