MySQL Docker Image for Mac ARM M1
emmanuelgautier.com
emmanuelgautier.com
Historically there weren't any ARM builds over at https://hub.docker.com/_/mysql?tab=tags , which (if I understand correctly) are "official" in a totally different way (these namespace-less images are maintained by Docker Inc?) ... it seems as of the most recent MySQL release (8.0.28) they've started supplying ARM builds with the "-oracle" tag though.
Difference to Docker's isn't huge. Our builds are built upon Oracle Linux (which shouldn't have much impact, but relevant for customers to have a fully supported stack), have minor difference in available flags (we for isntance have the "initialize only" mode which temrinates after setting up the data dir which is useful in Kubernetes init containers and similar places) etc.
Our images are also available via container-registry.oracle.com which can be useful, if you run into rate limitations on dockerhub (there you'll also find Enterprise Edition in case you care about that)
I'm open for feature requests etc.
One question, on the topic of ARM builds actually: I just noticed on Docker Hub that tags mysql/mysql-server:8.0 and mysql/mysql-server:8.0.28 actually lack ARM builds at the moment, is this known/intentional?
On my m1 mac, when I try to use either mysql/mysql-server:8.0 or mysql/mysql-server:8.0.28, I'm actually getting an amd64 image... it is working but is presumably emulated through qemu, which is not ideal.
There's an ARM build for mysql/mysql-server:latest, which I would expect should also be the same as 8.0.28, but its image digest differs from 8.0 / 8.0.28 even for amd64. A bit confusing...
It has been added to the blog post! Thanks again for the contribution!
https://www.docker.com/blog/multi-arch-images/
Ability to use cheaper ARM based VPS instances are another reason to really want this too.
[0]: https://bugs.mysql.com/bug.php?id=103462 [1]: https://github.com/docker-library/mysql/issues/318
This post is focused on MySQL but you have other images with the same issue.
For 8.0 there are some arm64 images already on Docker Hub, just the oraclelinux variant.
Or is the problem the base image being used for a given dockerfile are typically cpu specific?