Docker Apple Silicon/M1 Preview MySQL no matching manifest for linux/arm64/v8 in the manifest list entries
Master System Design with Codemia
Enhance your system design skills with over 120 practice problems, detailed solutions, and hands-on exercises.
The transition from Intel to Apple Silicon chips, such as the M1, has been a significant technological shift, with numerous applications and tools having to update and optimize their software to support the new architecture. Docker, a prominent platform for developing, shipping, and running applications in containers, has been part of this transition, aiming to support the ARM architecture of the M1 chips. However, developers often encounter issues during this transition. One such common problem is the error message: "no matching manifest for linux/arm64/v8 in the manifest list entries" when attempting to use Docker images like MySQL on Apple Silicon/M1 preview.
Understanding Docker and Architectures
Docker runs containers based on images, and these images are built for specific OS and CPU architectures. The move from an x86_64 (Intel) architecture to ARM architecture requires that Docker images need to be compatible with ARM (linux/arm64) for them to run natively on new Apple Silicon chips like M1.
Docker Image Manifest
Each Docker image has a manifest, which is essentially a description of the image, including its architecture. When Docker pulls an image, it looks for a manifest that matches the OS and architecture. If an appropriate manifest isn't found, Docker throws an error: "no matching manifest for linux/arm64/v8 in the manifest list entries."
Example: MySQL on Apple Silicon
Running MySQL in Docker on Apple Silicon can raise this error if the specific MySQL version being pulled does not support the ARM architecture.
If the image version you are trying to pull has not been built for the ARM architecture, Docker cannot find a matching manifest, resulting in the error.
Solutions to Address the Manifest Error
Multi-Arch Build Support
Some official Docker images, like newer versions of MySQL, come with multi-architecture support, which includes ARM. Ensure to use the latest version or specified tags that explicitly state ARM support.
Use Platform Override
Docker allows you to specify the platform during pull or run commands using the --platform flag. This enables pulling an image built for a different architecture, allowing it to run under emulation.
This would pull the MySQL image for Linux x86_64 architecture and run it using Apple’s Rosetta 2 translation layer.
Build Images Locally
If official images don't support ARM, consider building the image from source on the M1 host. This can be done by cloning the Dockerfile repository and using:
This command builds a MySQL Docker image compatible with the host architecture.
Challenges and Considerations
Performance Implications
Running non-native architecture images using translation layers like Rosetta 2 may lead to reduced performance. Building native images or using multi-arch images is recommended for production environments to ensure optimal performance.
Legacy Images
Some legacy images won’t be updated to support ARM, requiring ongoing maintenance or workarounds to be run on Apple Silicon.
Community and Support
The community continuously builds and maintains ARM-compatible images, and checking Docker Hub or extended community repositories may provide alternatives.
Summary Table
| Key Point | Details/Notes |
| Error | "No matching manifest for linux/arm64/v8 in the manifest list entries." |
| Cause | Docker can't find an ARM-compatible image; lack of ARM manifest. |
| Solution 1 | Use newer image versions with multi-arch support if available. |
| Solution 2 | Use --platform option to run non-native images with Rosetta 2 emulation (e.g., linux/amd64). |
| Solution 3 | Build images from source on M1 to ensure ARM compatibility. |
| Performance Consideration | Possible performance impact using non-native architecture images due to emulation overhead. |
| Community and Resource | Leverage Docker Hub and community forums for support. |
Overall, while running Docker on Apple Silicon/M1 introduces some challenges regarding image compatibility and architecture concerns, these can generally be surmounted with a mixture of updated images, emulation, and local builds. As software ecosystems continue to adapt to ARM architecture, the transition will become smoother and support more robust.

