x86 Build in M1 Mac
2024-01-31
Building docker images with the flag --platform linux/amd64
allows you to create x86 images using docker
Which platform am I on?
> gcc -dumpmachine
arm64-apple-darwin23.2.0
Let’s run an image to enter the x86 world#
> docker run -it --platform=linux/amd64 gcc:13.2.0 /bin/bash
(inside docker container)> gcc -dumpmachine
x86_64-linux-gnu
When to use this?#
This is helpful to build cross platform images. i.e. in Elixir you can create a binary file with mix release
however it only targets the current platform target triple. As my server runs on linux/amd64
I would have to build the code again rather than just copying over the binary file. Hence, I use this script to build the binary for the x86 platform and copy over the binary file only.