Connection reset by peer, errno 104

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