Possible bug report - default build dockerfile doesn't exist

Hey Fly.io team,

I am attempting to launch a phoenix+postgres app on Fly.io for the first time, and hit a speedbump. It seems the default build dockerfile points to a docker build image that doesn’t exist.

At the top of the Dockerfiler is this section, showing my elixir and otp versions and populating a debian version:

ARG ELIXIR_VERSION=1.14.0
ARG OTP_VERSION=23.3.4.16
ARG DEBIAN_VERSION=bullseye-20220801-slim 

ARG BUILDER_IMAGE="hexpm/elixir:${ELIXIR_VERSION}-erlang-${OTP_VERSION}-debian-${DEBIAN_VERSION}"
ARG RUNNER_IMAGE="debian:${DEBIAN_VERSION}"

Only problem is, a docker image with that tag does not exist on the hexpm docker image list. The missing piece seems to be the debian version, as bullseye-20210902-slim does exist and seems to work.

Thanks and feel free to reach out to me for further details that might be helpful in making improvements if you pick this up.

1 Like

I have exactly the same problem.
Does anyone have a solution for this?

My Dockerfile config

ARG ELIXIR_VERSION=1.13.4
ARG OTP_VERSION=24.3.4
ARG DEBIAN_VERSION=bullseye-20220801-slim

This was fixed in the Phoenix 1.6.12 release. Unfortunately the debian image was pulled from the registry, and we now generate the Dockerfile with bullseye-20210902-slim. Previously generated Dockerfiles will need to be updated manually. Thanks!

Thanks Chris,

I think the diff shows the opposite direction; adding bullseye-20220801-slim, the image which did not exist for my elixir/erlang combination. phoenix 1.6.11..1.6.12 | hexdiff

(1.6 branch on Github shows the same use of the not-found 2022 version.)

Phoenix Master on Github uses the bullseye-20210902-slim debian version that works for me and you indicated is the desired outcome.

yes you are correct! bullseye-20220801-slim is the one we now generate on 1.6.12/master. Thanks!

ok, maybe you expect this, but phoenix master branch on Github uses a different one than 1.6.12 on Hex.pm. The Phoenix 1.6.12 image is the version that did not work in my case.

Phoenix Master uses bullseye-20210902-slim. phoenix/Dockerfile.eex at master · phoenixframework/phoenix · GitHub (exists for my elixir 1.14/erlang combo)

Phoenix 1.6.12 uses bullseye-20220801-slim (phoenix 1.6.11..1.6.12 | hexdiff) (does not exist for my elixir 1.14/erlang combo)

Appreciate all the time and effort that went into this.