How to poke around your Docker container with Bash
TL:DR docker exec -t -i $(docker ps -lq) /bin/bash
For the full explanation; I needed to run tail -f on a log file within my docker container recently. I could of added SSH to the DOCKERFILE but I just didn't want to add unnecessary functionality for some rare instances when I need to inspect the guts.
Thats when I came across docker exec and docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
, by running this I can run a new command in a running container.
docker exec -t -i container_name_or_id /bin/bash
This will create a new Bash session in the container container_name_or_id which you can get by running docker ps -l
for the latest running containers.
If you want something more dynamic you can take this further combinging it with $(docker ps -lq)
which will return just the ID for you.
docker exec -t -i $(docker ps -lq) /bin/bash