Runway usually enforces that apps EXPOSE
a port (and listen on that port).
That can be switched off via runway app route off
(and switched back on via
runway app route on
).
With the following Dockerfile
in a git repository:
FROM alpine
RUN addgroup --gid 1001 mygroup && \
adduser -D --ingroup mygroup --uid 1001 myuser
USER 1001:1001
CMD sleep infinity # or something a bit more useful, in practice
do
runway app create
runway app route off
runway app deploy
The app should then deploy and start.
As with any other app, runway app exec sh
can be used to get an interactive
shell on the container, if necessary.
runway app route off/on
can also be used to quickly cut (and re-establish)
network traffic to a normal runway app.
That updates the app directly - redeployments are only necessary if the
EXPOSE
d port changes, or one is added or removed.