Upload local image from non-x86_64 env

I would like to upload a local image from my Apple M1 machine. Should this be possible when using docker buildx build --platform linux/amd64 to build it? If so: Is there a way of bypassing Local docker is not x86_64, hooking you up with a remote Docker builder?

When using flyctl deploy --local-only, I see a Local docker unavailable and --local-only was passed, cannot proceed. instead, so this does not help either.

flyctl doesn’t support docker on M1 yet while we wait on a few other libraries to add support first. Until then you can build and push outside flyctl like this:

# authenticate docker
flyctl auth docker

# build and tag with docker
docker buildx build --platform linux/amd64 -t registry.fly.io/your-app:tag ......

# push to your app's repo in the fly registry
docker push registry.fly.io/your-app:tag

# deploy the image you just pushed
flyctl deploy -i registry.fly.io/your-app:tag
1 Like

Great, thanks a lot!

@thomas1 we have a build for M1 Macs: Friday flyctl update: M1 builds and new VM commands

Could you give it a try again?

@michael, thanks for the update!

I’m still getting INFO Local docker is not x86_64, hooking you up with a remote Docker builder... when deploying via flyctl deploy and Error Local docker unavailable and --local-only was passed, cannot proceed when doing so via flyctl deploy --local-only.

flyctl v0.0.177 darwin/arm64 Commit: 90230d9 BuildDate: 2021-02-19T18:22:45Z