Skip to main content

Posts

Showing posts with the label Docker

Docker on Apple Silicon: Fixing Python `pip install` and Architecture Build Errors

  If you develop on an M1/M2/M3 Mac (ARM64) and deploy to AWS, Azure, or GCP (typically AMD64/x86_64), you have likely encountered two distinct classes of failures. Runtime Failure:  The container builds fine locally, but crashes instantly in production with  standard_init_linux.go:228: exec user process caused: exec format error . Build Time Failure:  While building the Docker image locally for the production architecture,  pip install  fails with cryptic GCC errors, or the build hangs indefinitely while installing packages like  numpy ,  grpcio , or  cryptography . This post addresses the architectural mismatch causing these issues and provides a production-grade implementation using Docker Buildx and multi-stage builds to solve them. The Root Cause: CPU Instruction Sets & Python Wheels The  exec format error  occurs because binary executables contain instructions specific to a CPU architecture. Your Mac speaks ARM64; your pro...