Often times I find myself wanting to spin up an ephemeral Docker container. This is the structure of the command I'll use:
docker container run --rm --interactive --tty <IMAGE> <COMMAND>
An example if I want to spin up an Alpine Linux container:
docker container run --rm --interactive --tty alpine sh
Running this command will open a new shell inside of my existing terminal window with the ability to interact with the container.
This command can be run more tersely with the shorthand flags for
tty as well:
docker container run --rm -it alpine sh
The composition of the command:
container run: Runs a command in a new container
--rm: Automatically removes the container when it exits (when I'm done, this is really nice so that Docker doesn't end up with a bunch of dangling Docker processes [you can experiment with removing this flag, running this command a few time and exiting and running
docker ps -ato see what that means])
-interactive: Keep STDIN open even if not attached
-tty: Allocate a pseudo-TTY
Find this article useful?