π³
Docker
Container lifecycle, compose, volumes, networking & production patterns
9sections
78commands
Basics & Install Verify
5 commands$
docker versionDocker version check
$
docker infoSystem-wide Docker info
$
docker compose versionCompose version check
$
docker run hello-worldTest installation
$
docker run "color: #00d4ffcc">-it ubuntu bashInteractive Ubuntu container
Image Commands
9 commands$
docker pull nginxDownload image from registry
$
docker imagesList all local images
$
docker image lsList images (new syntax)
$
docker rmi image-nameRemove an image
$
docker image pruneRemove dangling images
$
docker image prune "color: #00d4ffcc">-aRemove ALL unused imagesDANGER
$
docker build "color: #00d4ffcc">-t myapp:1.0 .Build image from Dockerfile
$
docker build "color: #00d4ffcc">--no-cache "color: #00d4ffcc">-t myapp .Fresh build, no cache
$
docker build "color: #00d4ffcc">-f Dockerfile.prod "color: #00d4ffcc">-t myapp:prod .Custom Dockerfile
Container Lifecycle
12 commands$
docker run "color: #00d4ffcc">-d "color: #00d4ffcc">--name myapp nginxRun detached with name
$
docker run "color: #00d4ffcc">-p 3000:3000 myappMap host:container port
$
docker run "color: #00d4ffcc">-e NODE_ENV=production myappSet env variable
$
docker run "color: #00d4ffcc">--env-file .env myappLoad .env file
$
docker run "color: #00d4ffcc">--user 1000:1000 myappRun as specific UID (NTFS fix)TIP
$
docker run "color: #00d4ffcc">--restart unless-stopped myappAuto-restart policy
$
docker run "color: #00d4ffcc">--memory 512m "color: #00d4ffcc">--cpus 1.5 myappResource limits
$
docker start myappStart stopped container
$
docker stop myappGraceful stop (SIGTERM)
$
docker restart myappStop then start
$
docker rm myappRemove container
$
docker rm "color: #00d4ffcc">-f myappForce remove running containerDANGER
Inspect & Debug
15 commands$
docker psList running containers
$
docker ps "color: #00d4ffcc">-aList all containers (including stopped)
$
docker ps "color: #00d4ffcc">--format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"Clean table format
$
docker logs myappContainer logs
$
docker logs "color: #00d4ffcc">-f myappFollow live logs
$
docker logs "color: #00d4ffcc">--tail 50 myappLast 50 lines
$
docker logs "color: #00d4ffcc">--since 10m myappLogs from last 10 mins
$
docker inspect myappFull container JSON config
$
docker statsLive CPU/RAM/Network usage
$
docker top myappProcesses inside container
$
docker exec "color: #00d4ffcc">-it myapp bashShell into running container
$
docker exec "color: #00d4ffcc">-it myapp shUse sh if bash not available
$
docker run "color: #00d4ffcc">--rm "color: #00d4ffcc">-it "color: #00d4ffcc">--entrypoint bash myappOverride entrypoint to debugTIP
$
docker cp myapp:/app/logs ./logsCopy from container to host
$
docker cp ./config.json myapp:/app/Copy from host to container
Volumes
7 commands$
docker volume create mydataCreate named volume
$
docker volume lsList all volumes
$
docker volume inspect mydataVolume details & mountpoint
$
docker volume rm mydataRemove volume
$
docker volume pruneRemove unused volumesWARN
$
docker run "color: #00d4ffcc">-v mydata:/app/data myappMount named volume
$
docker run "color: #00d4ffcc">-v $(pwd):/app myappBind mount current directory
Networks
6 commands$
docker network create mynetCreate custom network
$
docker network lsList networks
$
docker network inspect mynetNetwork details
$
docker network connect mynet myappConnect container to network
$
docker network disconnect mynet myappDisconnect container
$
docker run "color: #00d4ffcc">--network mynet myappRun in specific network
Docker Compose
12 commands$
docker compose upStart all services
$
docker compose up "color: #00d4ffcc">-dStart in background (detached)
$
docker compose up "color: #00d4ffcc">--buildRebuild images then start
$
docker compose downStop and remove containers
$
docker compose down "color: #00d4ffcc">-vAlso remove volumesWARN
$
docker compose psService status
$
docker compose logs "color: #00d4ffcc">-fFollow all service logs
$
docker compose logs apiSpecific service logs
$
docker compose exec api bashShell into service
$
docker compose restart apiRestart single service
$
docker compose pullPull latest images
$
docker compose configValidate & view parsed config
Registry & Push
6 commands$
docker loginLogin to DockerHub
$
docker tag myapp:latest vikash/myapp:1.0Tag image for registry
$
docker push vikash/myapp:1.0Push to DockerHub
$
docker pull vikash/myapp:1.0Pull from DockerHub
$
docker save "color: #00d4ffcc">-o myapp.tar myapp:latestExport image to tar
$
docker load "color: #00d4ffcc">-i myapp.tarImport image from tar
Cleanup & Space
6 commands$
docker system dfShow Docker disk usage
$
docker system pruneRemove stopped containers + dangling images
$
docker system prune "color: #00d4ffcc">-aRemove ALL unused resourcesDANGER
$
docker container pruneRemove stopped containers
$
docker image prune "color: #00d4ffcc">-aRemove unused images
$
docker volume pruneRemove unused volumes