Architecture type (linux/amd64 and arm64)
# Architecture types
- arm64 –> arm64 (apple mac chips)
- x86_64 –> amd64 (intel 64 bit CPU)
- i386 –> 32 bit
# MacOS arch type i386 Rosetta
Install Rosetta on MacOS:
softwareupdate --install-rosetta --agree-to-license
To test:
- Click to Open the Terminal, type
archto verify it saysi386orx86_64(?) now.- on M1 Apple silicon it says
arm64
- on M1 Apple silicon it says
Switch zsh to arm64 manually
|
|
I added this to alias to easily switch:
|
|
Good read M1 Mac — How to switch the Terminal between x86_64 and arm64.
# activate Rosetta on any app
Right-click any app > Get Info > Enable Open using Rosetta
For the terminal, check the above arch type to be correct.
# emulation amd64 vs arm64
When you run a Docker image designed for linux/amd64 on a macOS system with linux/arm64 architecture, Docker utilizes a process called “emulation”. This is achieved through Docker’s use of QEMU, an open-source machine emulator and virtualizer.
This emulation layer allows Docker to interpret and execute the AMD64 instructions on your ARM64 architecture, enabling cross-platform compatibility. However, it’s important to note that while emulation makes it possible to run images across different architectures, it can lead to reduced performance compared to running an image natively on the same architecture.
# Check Dockerimage architecture
# docker manifest inspect
tags on dockerhub
Docker:

how to check with comand:
|
|
# docker image inspect
Has my mac arch:
|
|
Has not been uploaded with arm64 arch:
|
|