I’ve been using docker for a while now, but the other day I got tripped by a trivial mistake.
It turns out that if you forget the -i, --interactive
parameter while trying to run an interactive shell, the console will “freeze”. If you are lucky you will get a warning, like this one WARNING: your terminal doesn't support cursor position requests (CPR).
which I got from ipython
. Trying to run the plain python
shell or /bin/bash
interactively without the -i
parameter will just not work, and you won’t know why.
A friendly reminder for myself, so I never forget the -i
in -it
.
This is how you launch a container with an interactive shell:
docker run -it --rm <image-name-or-id> ipython
or
podman run -it --rm <image-name-or-id> /bin/bash
Parameters explained:
-i, --interactive Keep STDIN open even if not attached
-t, --tty Allocate a pseudo-TTY
--rm Automatically remove the container when it exits