Container Basics
List running containers:
docker ps
List all containers (including stopped):
docker ps -a
Run a container interactively:
docker run -it ubuntu bash
Remove a container:
docker rm <container_id>
Images
List images:
docker images
Remove an image:
docker rmi <image_id>
Build from a Dockerfile:
docker build -t myapp:latest .
Pull without running:
docker pull nginx
Logs & Debugging
Follow container logs:
docker logs -f <container_id>
Exec into a running container:
docker exec -it <container_id> bash
Inspect full container config:
docker inspect <container_id>
Check resource usage live:
docker stats
Cleanup (Huge Time Savers)
Remove all stopped containers:
docker container prune
Remove unused images:
docker image prune -a
Nuke everything unused (containers, images, networks, cache):
docker system prune -a --volumes
Networking
List networks:
docker network ls
Inspect a network:
docker network inspect bridge
Connect a container to a network:
docker network connect mynet mycontainer
Volumes
List volumes:
docker volume ls
Remove unused volumes:
docker volume prune
Mount a host directory:
docker run -v /host/path:/container/path myapp
Docker Compose Essentials
Start services in background:
docker compose up -d
Stop and remove everything:
docker compose down
Rebuild after Dockerfile changes:
docker compose up -d --build
View logs for all services:
docker compose logs -f
Pro-Level Tricks
Copy files in/out of a container:
docker cp file.txt <container_id>:/app/
Run a one-off command without keeping the container:
docker run --rm alpine echo hello
Save an image to a tar file:
docker save -o myimage.tar myimage:latest
Limit container resources:
docker run --memory=512m --cpus=1 myapp
Bonus (Docker Mindset)
Container acting weird? → docker logs first
Out of disk space? → docker system df then docker system prune
Can't reach a service? → check docker network inspect + exposed ports
Container exits immediately? → check docker logs, it usually crashed on startup
Top comments (0)