Docker Cheatsheet / Notes
Docker Commands
docker ps
shows list of currently running containers
docker ps -a
shows list of currently running and previously ran containers
docker run <image>
starts container in attached mode
docker run -d <image>
starts container in detached mode, system prompt returns
docker run -it <image>
starts container in interactive mode, connects container shell
docker exec <con_id> <command>
executes command in a running container
docker run <image> <command>
runs the command in the container
docker stop <con_id>
stops container with given id
docker stop <name>
stops container with given name
docker rm <con_id>
removes container with given id, multiple separated by space
docker rm <name>
removes container with given name, multiple separated by space
docker rmi <img_id>
removes image with given id, multiple separated by space
docker rmi <image>
removes image with given name, multiple separated by space
docker pull <image>
downloads image from Docker Hub to local storage
docker run <img>:<tag>
downloads image with specified tag
Docker Run in Details
Interactive mode
docker run -it
interactive mode with psuedo terminal
port mapping
docker run -p <host_port>:<con_port>
maps host port to container port
volume mapping, data persistence
docker run -v <host_vol>:<con_vol>
maps host storage to container storage
e.g. docker run -it /home/neeraj/Sources:/home/ alpine:3.17
Supplementary
docker logs <con_id>
view the logs
docker attach <con_id>
attaches to given running container
docker inspect <con_id>
displays information about running container, e.g. ip address
Docker Images and Containerization
How to create the image?
start with the OS
FROM python:3.11.0-alpine
Docker Environment Variables
docker run -e APP_VARIANT=12
Docker Compose
Running multi-container app