Docker Commands Cheat Sheet
·7 min read
Docker packages applications into containers that run consistently across environments. This cheat sheet covers the commands you use most often.
Container Lifecycle
docker run -d -p 8080:80 --name myapp nginx docker ps # Running containers docker ps -a # All containers docker stop myapp docker start myapp docker restart myapp docker rm myapp # Remove container docker rm -f myapp # Force remove running
Images
docker images # List images docker pull nginx:latest docker build -t myapp:1.0 . docker rmi myapp:1.0 # Remove image docker image prune # Remove unused images
Logs and Debugging
docker logs myapp docker logs -f myapp # Follow logs docker exec -it myapp bash # Shell into container docker exec myapp cat /etc/os-release docker inspect myapp docker stats # Resource usage
Volumes
docker volume create mydata docker volume ls docker run -v mydata:/data nginx docker volume rm mydata docker volume prune
Networking
docker network ls docker network create mynet docker run --network mynet nginx docker network inspect mynet
Docker Compose
docker compose up -d # Start services docker compose down # Stop and remove docker compose ps # List services docker compose logs -f # Follow logs docker compose build # Build images docker compose restart # Restart services
Cleanup
docker system prune # Remove unused data docker system prune -a # Remove all unused docker container prune # Stop containers docker image prune -a # Unused images
Common Patterns
# Run temporary container docker run --rm ubuntu echo "hello" # Port mapping docker run -p 3000:3000 myapp # Environment variables docker run -e NODE_ENV=production myapp # Copy files docker cp myapp:/app/logs ./logs
Tip
Use YAML to JSON to convert Docker Compose YAML configs to JSON for inspection or use in other tools.