6. MCVE with Dockerfile
As suspected, the issue was in fact with my Dockerfile. Took me over 40+ deploys on existing and new apps, lots of hit and trial, and occasional head-scratching but I was able to create a MCVE of the issue.
I deployed a simple elixir script that serves web requests, with this minimal Fly config:
app = "urbanave-test"
kill_signal = "SIGTERM"
kill_timeout = 5
and this Dockerfile:
ARG BUILDER_IMAGE="hexpm/elixir:1.12.0-erlang-23.3.4.14-alpine-3.15.3"
FROM ${BUILDER_IMAGE} as builder
WORKDIR /app
COPY app.exs app.exs
RUN mix local.hex --force && mix local.rebar --force
RUN elixir app.exs
RUN apk add curl
CMD ["elixir", "app.exs", "server"]
So this is probably an issue with the Alpine image I’m using or the curl
package that’s installed.
Note: Edited to further simplify and reduce the scope of MCVE