
Mastering Docker in 2025: 100 Essential Commands and Practical Scripts for Developers
Docker is a game-changer for developers, streamlining workflows and ensuring consistency across environments. Whether you’re deploying a WordPress site or managing complex applications, mastering Docker commands is key to unlocking its full potential. Below is a curated list of 100 essential Docker commands, including 20 real-world examples and three practical scripts tailored for web developers.
- Basic Commands
- Image Management
- Container Management
- Networking
- Volume Management
- System Management
- Advanced Commands
- Real-World Examples
- Practical Docker Script
Basic Commands
docker version
– Display Docker version.docker info
– Show system information.docker pull <image>
– Download an image.docker images
– List all images.docker run <image>
– Start a container.docker ps
– Show running containers.docker ps -a
– Show all containers.docker stop <container>
– Stop a container.docker rm <container>
– Delete a container.docker rmi <image>
– Delete an image.docker build -t <name>
. – Build an image.docker login
– Log in to a registry.docker logout
– Log out.docker search <term>
– Search Docker Hub.docker tag <source> <target>
– Tag an image.docker push <image>
– Upload an image.docker inspect <object>
– View object details.docker logs <container>
– Show container logs.docker exec -it <container>
/bin/bash – Access container shell.docker restart <container>
– Restart a container.
Image Management
docker image ls
– List images.`docker image rm <image>
– Remove an image.docker image prune
– Clean unused images.docker image history <image>
– Show image layers.docker image inspect <image>
– View image metadata.docker import <file>
– Import a tarball.docker export <container>
– Export a container.docker save <image> -o <file>
– Save an image.docker load -i <file>
– Load an image.docker commit <container> <image>
– Save container as image.
Container Management
docker create <image>
– Create a container.docker start <container>
– Start a container.docker pause <container>
– Pause a container.docker unpause <container>
– Resume a container.docker kill <container>
– Force stop a container.docker rename <container>
<new-name> – Rename a container.docker update <container>
– Update container settings.docker attach <container>
– Connect to a container.docker wait <container>
– Wait for container stop.docker port <container>
– Show port mappings.
Networking
docker network ls
– List networks.docker network create <name>
– Create a network.docker network rm <network>
– Delete a network.docker network connect <network> <container>
– Connect a container.docker network disconnect <network> <container>
– Disconnect a container.docker network inspect <network>
– View network details.docker run --network <network> <image>
– Use a specific network.docker run -p <host>:<container> <image>
– Map a port.docker run --link <container>:<alias> <image>
– Link containers.docker run --hostname <name> <image>
– Set container hostname.
Volume Management
docker volume ls
– List volumes.docker volume create <name>
– Create a volume.docker volume rm <volume>
– Delete a volume.docker volume inspect <volume>
– View volume details.docker volume prune
– Clean unused volumes.docker run -v <volume>:<path> <image>
– Mount a volume.docker run --mount src=<volume>,dst=<path> <image>
– Mount a volume.docker cp <container>:<path> <host-path>
– Copy from container.docker cp <host-path> <container>:<path>
– Copy to container.docker run --tmpfs <path> <image>
– Mount a tmpfs.
System Management
docker system df
– Show disk usage.docker system prune
– Clean unused objects.docker system info
– Display system details.docker system events
– Monitor system events.docker system prune -a
– Clean all unused objects.docker builder prune
– Clean build cache.docker checkpoint create <container> <name>
– Create a checkpoint.docker checkpoint rm <container> <name>
– Delete a checkpoint.docker checkpoint ls <container>
– List checkpoints.docker stats
– Show resource usage.
Advanced Commands
docker manifest inspect <image>
– View image manifest.docker manifest push <image>
– Push a manifest.docker buildx ls
– List buildx builders.docker buildx create
– Create a builder.docker buildx rm <builder>
– Delete a builder.docker context ls
– List contexts.docker context create <name>
– Create a context.docker context rm <name>
– Delete a context.docker swarm init
– Initialize a swarm.docker swarm join
– Join a swarm.
Real-World Examples
docker run -d -p 80:80 nginx
– Run an Nginx server.docker pull wordpress:latest
– Download WordPress image.docker run -d --name wp -p 8080:80 wordpress
– Launch WordPress.docker build -t my-wp-site:latest .
– Build a custom WordPress image.docker push myrepo/my-wp-site:latest
– Upload to a registry.docker run -it ubuntu bash
– Start an Ubuntu shell.docker exec -it wp bash
– Access WordPress container.docker logs -f wp
– Monitor WordPress logs.docker run -d -p 3306:3306 mysql
– Run MySQL server.docker run -v wp-data:/var/www/html wordpress
– Persist WordPress data.docker network create wp-net
– Create a WordPress network.docker run --network wp-net wordpress
– Run in custom network.docker stop $(docker ps -q)
– Stop all containers.docker rm $(docker ps -a -q)
– Remove all containers.docker rmi $(docker images -q)
– Remove all images.docker run -d --restart always wp
– Auto-restart WordPress.docker inspect --format '{{.NetworkSettings.IPAddress}}' wp
– Get container IP.docker run -e WORDPRESS_DB_HOST=mysql wordpress
– Set database host.docker run --memory 256m wordpress
– Limit container memory.docker run --cpus 1 wordpress
– Limit container CPU.
Practical Docker Scripts
1. WordPress Setup Script
This script sets up a WordPress site with a MySQL database in a custom network.
#!/bin/bash
docker network create wp-net
docker run -d --name mysql --network wp-net -e MYSQL_ROOT_PASSWORD=secure wordpress-mysql
docker run -d --name wp --network wp-net -p 80:80 -e WORDPRESS_DB_HOST=mysql wordpress
echo "WordPress running at http://localhost"
2. WordPress Backup Script
This script creates a backup of your WordPress files for safekeeping.
#!/bin/bash
docker exec wp tar czf /backup.tar.gz /var/www/html
docker cp wp:/backup.tar.gz ./wp-backup.tar.gz
echo "WordPress backup created: wp-backup.tar.gz"
3. Docker Cleanup Script
This script clears unused Docker resources to free up space.
#!/bin/bash
docker stop $(docker ps -q)
docker rm $(docker ps -a -q)
docker volume prune -f
docker network prune -f
echo "Docker environment cleaned"
Conclusion
These commands and scripts empower developers to manage Docker efficiently, from deploying WordPress sites to maintaining clean environments. Bookmark this guide and start leveraging Docker to streamline your workflows today!