Imagine your container is running but you would like to “ssh inside”. For example your container is R/Shiny server and you need to install a new R package. Or your container is Jupyter Notebook and your forgot the password to access it (it is stored in the environment variable $PASSWORD).
You need a way to log into the container. And the following command is doing exactly that:
docker exec -i -t $CONTAINERID /bin/bash
$CONTAINERID is a hexadecimal number you get from
docker ps listing, e.g.
67a0a9d82112 in the example below
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 1987416184d8 churchill/doqtl "/usr/bin/supervisord" 12 days ago Up 12 days 1410/tcp, 0.0.0.0:8888->8787/tcp sleep 67a0a9d82112 rocker/shiny "/usr/bin/shiny-serve" 5 weeks ago Up 5 weeks 0.0.0.0:80->3838/tcp webapp