Cannot deploy due to Docker error

When deploying my app, I see:

 => copy /context /                                                                                                                                                                                             1.4s
 => ERROR [internal] load metadata for docker.io/library/node:16-alpine                                                                                                                                        51.0s
------
 > [internal] load metadata for docker.io/library/node:16-alpine:
------
Error failed to fetch an image or build from source: error building: failed to solve with frontend dockerfile.v0: failed to create LLB definition: failed to do request: Head "https://registry-1.docker.io/v2/library/node/manifests/16-alpine": dial tcp 52.72.252.48:443: i/o timeout

I assumed it could be full storage on my remote deploy box, since that frequently fills up, so I deleted it and tried again. Same error.

Haven’t hit this before and no recent changes to my toml or application.

Note I am deploying with --remote-only

It looks like docker hub is timing out for the builder. Retrying should help.

We just rolled out a docker hub mirror to help mitigate these types of issues. What’s the name of your builder? I want to see what region it’s in and what version of the builder it’s using.

Thanks! My builder is fly-builder-restless-breeze-191

Sorry for the trouble. We’re looking into some networking issues in Seattle. You can watch here for updates. Fly.io Status - Connectivity failures in the Seattle region

I got the exact same error today trying to deploy a new app.

Error failed to fetch an image or build from source: error building: failed to solve with frontend dockerfile.v0: failed to create LLB definition: docker.io/hexpm/elixir:1.13.4-erlang-25.0.3-debian-bullseye-20210902-slim: not found

My builder is fly-builder-purple-frost-7412

I got the same error today, fresh Phoenix app following the Fly.io guide.

I looked up the default tag 1.13.4-erlang-25.0.4-debian-bullseye-20210902-slim on Docker Hub and saw that it didn’t exist. Updating my Dockerfile to point to 1.13.4-erlang-25.0.4-debian-bullseye-20220801-slim instead allowed me to fly deploy.

1 Like

\

Same for me and thanks for the fix pointer!

I got this error a bit earlier:
ERROR [internal] load metadata for docker.io/hexpm/elixir:1.13.4-erlang-25.0.4-debian-bullseye-2021090

And this warning during the setup flow:
We recommend upgrading to Phoenix 1.6.3 which includes a release configuration for Docker-based deployment.

But it seems like I have Phoenix 1.6.11 so that seems pretty outdated.

Huh, guess I spoke too soon.

I had to update to
1.14.0-erlang-25.0.4-debia-bullseye-20220801-slim

but I still got this error I can’t quite figure out yet:
Error error building: failed commit on ref “layer-sha256:1efc276f4ff952c055dea726cfc96ec6a4fdb8b62d9eed816bd2b788f2860ad7”: “layer-sha256:1efc276f4ff952c055dea726cfc96ec6a4fdb8b62d9eed816bd2b788f2860ad7” failed size validation: 0 != 31366757: failed precondition

I guess it didn’t pull properly, but it’s taking a while (maybe too long) and I’m not quite sure where they’re going so not sure how to check.


oh! Debian is also missing, updating to:
debian:stable-20220801-slim
seems to have unlocked some progress

Same issue here, trying to deploy a freshly generated Phoenix app.

[+] Building 1.7s (4/4) FINISHED
 => [internal] load remote build context                                                                                                                                                                                                                                                                                        0.0s
 => copy /context /                                                                                                                                                                                                                                                                                                             0.1s
 => [internal] load metadata for docker.io/library/debian:bullseye-20220801-slim                                                                                                                                                                                                                                                0.9s
 => ERROR [internal] load metadata for docker.io/hexpm/elixir:1.14.0-erlang-25.0-debian-bullseye-20220801-slim

It looks like that tag is gone from Docker Hub: Docker Hub

I’m coming across this same issue - were you able to resolve?

Yes, you have to search for the tags that are missing and update them in the script. It’s trying to formulate the names off some pattern, but I think I just hardcoded the full phrase it was looking for (on roughly the same tag). I’m not sure if those tags are still available but check for the error to find what’s missing and update that (one by one if needed). Otherwise post the exact errors you are seeing and I can check my script to see if my changes still work.

Below is what I’m seeing:

=> ERROR [internal] load metadata for docker.io/hexpm/elixir:1.13.4-erlang-25.0.4-debian-bullseye-20210902-slim 1.8s


[internal] load metadata for docker.io/hexpm/elixir:1.13.4-erlang-25.0.4-debian-bullseye-20210902-slim:


Error failed to fetch an image or build from source: error building: failed to solve with frontend dockerfile.v0: failed to create LLB definition: docker.io/hexpm/elixir:1.13.4-erlang-25.0.4-debian-bullseye-20210902-slim: not found

When searching for the tag on Docker hub I’m only able to find the 08-2022 version of debian-bullseye and after docker pulling it - still seeing the above error

Did you update the script to point at the 08-2022 version? It’s mostly just hardcoded to a version that doesn’t exist I think. (And I suspect after you fix that there will be one more error of a similar sort), it’s pretty much the first thing in the script defining the path/name.

Turns out I need some more sleep haha - Just edited the docker file to point to the correct version.

Now I’m getting an asset building error.

=> ERROR [builder 13/17] RUN mix assets.deploy 1.7s


[builder 13/17] RUN mix assets.deploy:
#22 1.109
#22 1.109 19:19:09.157 [debug] Downloading esbuild from https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.29.tgz

→ couldn’t resolve alpinejs nor tailwind

Error failed to fetch an image or build from source: error building: executor failed running [/bin/sh -c mix assets.deploy]: exit code: 1

1 Like