🐳 Docker Master Command Reference
🔹 1. System & Info
docker --version # Docker version
docker info # Host + engine info
docker ps # Running containers
docker ps -a # All containers
docker inspect <ctr> # Detailed container info
docker stats # Live CPU / memory usage
docker top <ctr> # Processes inside container
docker --version
docker info
docker ps
docker ps -a
docker inspect <ctr>
docker stats
docker top <ctr>
🔹 2. Running & Managing Containers
docker run -it --name mybox alpine /bin/sh # Interactive container
docker run -d --name web -p 8080:80 httpd # Detached mode
docker create --name test httpd # Create only (no start)
docker start <ctr> # Start container
docker stop <ctr> # Stop container
docker restart <ctr> # Restart container
docker pause <ctr> # Freeze container
docker unpause <ctr> # Resume container
docker run -it --name mybox alpine /bin/sh
docker run -d --name web -p 8080:80 httpd
docker create --name test httpd
docker start <ctr>
docker stop <ctr>
docker restart <ctr>
docker pause <ctr>
docker unpause <ctr>
🔹 3. Logs & Monitoring
docker logs <ctr> # Show logs
docker logs -f --tail 100 <ctr> # Follow logs (last 100 lines)
docker logs <ctr>
docker logs -f --tail 100 <ctr>
🔹 4. Copy & Rename
docker cp <ctr>:/path/in/ctr /path/on/host # Copy from container
docker rename old_name new_name # Rename container
docker cp <ctr>:/path/in/ctr /path/on/host
docker rename old_name new_name
🔹 5. Resource Controls (CPU & Memory)
docker run -d --memory=512m httpd
docker run -d --cpus="1.5" --memory=512m httpd
docker update --cpus=1.5 --memory=512m <ctr>
docker run -d --memory=512m --memory-swap=512m myapp # Disable swap
docker run -d --read-only --tmpfs /tmp:rw,size=64m myapp # Read-only FS
docker run -d --memory=512m httpd
docker run -d --cpus="1.5" --memory=512m httpd
docker update --cpus=1.5 --memory=512m <ctr>
docker run -d --memory=512m --memory-swap=512m myapp
docker run -d --read-only --tmpfs /tmp:rw,size=64m myapp
🔹 6. Remove Containers & Images
docker rm <ctr> # Remove container
docker rmi <image> # Remove image
docker system prune -a # Cleanup unused resources
docker rm <ctr>
docker rmi <image>
docker system prune -a
🔹 7. Import / Export
docker export <ctr> > ctr.tar
docker import ctr.tar myimg:latest
docker save -o img.tar myimg
docker load -i img.tar
docker export <ctr> > ctr.tar
docker import ctr.tar myimg:latest
docker save -o img.tar myimg
docker load -i img.tar
🔹 8. Images
docker images
docker image history httpd
docker image inspect httpd
docker pull httpd:latest
docker tag httpd:latest myrepo/httpd
docker push myrepo/httpd
docker search nginx
docker images
docker image history httpd
docker image inspect httpd
docker pull httpd:latest
docker tag httpd:latest myrepo/httpd
docker push myrepo/httpd
docker search nginx
🔹 9. Volumes
docker volume ls
docker volume create myvol
docker volume rm myvol
docker volume prune
docker run -d -v myvol:/data httpd
docker run -d --mount type=bind,source=/host,target=/ctr alpine
docker run -d --mount type=tmpfs,destination=/app,tmpfs-size=70m alpine
docker volume ls
docker volume create myvol
docker volume rm myvol
docker volume prune
docker run -d -v myvol:/data httpd
docker run -d --mount type=bind,source=/host,target=/ctr alpine
docker run -d --mount type=tmpfs,destination=/app,tmpfs-size=70m alpine
🔹 10. Networks
docker network ls
docker network create mybridge
docker network create --driver overlay myoverlay # Swarm only
docker network connect mybridge <ctr>
docker network disconnect mybridge <ctr>
docker run -d --name web --network mybridge nginx
docker run -d --network none nginx
docker network rm mybridge
docker network ls
docker network create mybridge
docker network create --driver overlay myoverlay
docker network connect mybridge <ctr>
docker network disconnect mybridge <ctr>
docker run -d --name web --network mybridge nginx
docker run -d --network none nginx
docker network rm mybridge
🔹 11. Docker Compose
docker-compose up -d # Start services
docker-compose down # Stop & remove
docker-compose ps # List services
docker-compose logs -f # Logs
docker-compose exec <svc> sh # Shell into service
docker-compose build # Build images
docker-compose pull # Pull images
docker-compose restart <svc> # Restart service
docker-compose scale web=3 # Scale replicas
docker-compose up -d
docker-compose down
docker-compose ps
docker-compose logs -f
docker-compose exec <svc> sh
docker-compose build
docker-compose pull
docker-compose restart <svc>
docker-compose scale web=3
🔹 12. Docker Swarm
docker swarm init --advertise-addr <IP>
docker swarm join --token <token> <ip>:2377
docker swarm leave
docker node ls
docker node promote <node>
docker node demote <node>
docker node rm <node>
docker node update --availability drain <node>
docker node update --availability pause <node>
docker service create --replicas 2 -p 80:80 --name myweb nginx
docker service ls
docker service ps myweb
docker service scale myweb=5
docker service update --image nginx:1.25 myweb
docker service rollback myweb
docker swarm init --advertise-addr <IP>
docker swarm join --token <token> <ip>:2377
docker swarm leave
docker node ls
docker node promote <node>
docker node demote <node>
docker node rm <node>
docker node update --availability drain <node>
docker node update --availability pause <node>
docker service create --replicas 2 -p 80:80 --name myweb nginx
docker service ls
docker service ps myweb
docker service scale myweb=5
docker service update --image nginx:1.25 myweb
docker service rollback myweb
🔹 13. Security Best Practices (Commands)
# Non-root, CPU & memory limits, drop privileges
docker run -d --name safe-app \
--memory=512m --cpus="0.5" \
--security-opt=no-new-privileges \
--cap-drop=ALL \
myuser/app:1.0
# Read-only filesystem + tmpfs
docker run -d --read-only \
--tmpfs /tmp:rw,size=64m \
myuser/app:1.0
docker run -d --name safe-app \
--memory=512m --cpus="0.5" \
--security-opt=no-new-privileges \
--cap-drop=ALL \
myuser/app:1.0
docker run -d --read-only \
--tmpfs /tmp:rw,size=64m \
myuser/app:1.0