test-arm-build.sh 924 B

12345678910111213141516171819202122232425
  1. #!/bin/bash
  2. set -e
  3. # register QEMU handlers for emulation (one-time)
  4. docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
  5. # create and use a buildx builder (if you don't already have one)
  6. if ! docker buildx inspect mybuilder > /dev/null 2>&1; then
  7. docker buildx create --name mybuilder --use
  8. else
  9. docker buildx use mybuilder
  10. fi
  11. docker buildx inspect --bootstrap
  12. # change to repo root
  13. cd ../..
  14. # build the alpine image for arm64 and amd64
  15. # Note: We cannot use --load with multiple platforms.
  16. # We will build for arm64 specifically to test the emulation and load it.
  17. echo "Building for linux/arm64..."
  18. docker buildx build --platform linux/arm64 -f Dockerfile.alpine -t local-speedtest:alpine-arm64 --load .
  19. # To build for both platforms, you typically need to push to a registry:
  20. # docker buildx build --platform linux/amd64,linux/arm64 -f Dockerfile.alpine -t local-speedtest:alpine --push .