Essential Docker Commands
1. Image Commands
| Command | Description |
|---|---|
docker pull <image> | Download an image from Docker Hub or registry |
docker build -t <name:tag> . | Build an image from a Dockerfile in current directory |
docker images | List all local images |
docker rmi <image> | Remove an image |
docker tag <image> <user/repo:tag> | Add a new tag to an image |
docker push <user/repo:tag> | Push image to Docker Hub |
docker history <image> | Show layer history of an image |
docker inspect <image> | View low-level details about an image |
2. Container Commands
| Command | Description |
|---|---|
docker run <image> | Run a container from an image |
docker run -d <image> | Run container in detached mode |
docker run -it <image> bash | Run container with interactive terminal |
docker run -p <host:container> <image> | Map container port to host port |
docker ps | List running containers |
docker ps -a | List ALL containers (including stopped) |
docker stop <container> | Stop a running container |
docker start <container> | Start an existing container |
docker restart <container> | Restart a container |
docker rm <container> | Delete a stopped container |
docker kill <container> | Force-stop a container |
docker logs <container> | View container logs |
docker exec -it <container> bash | Execute command/shell inside running container |
docker inspect <container> | View low-level container details |
docker top <container> | Show running processes inside container |
docker cp <container:path> <host-path> | Copy files from container to host (or reverse) |
3. Volume Commands
| Command | Description |
|---|---|
docker volume create <name> | Create a volume |
docker volume ls | List all volumes |
docker volume inspect <name> | Inspect a volume |
docker volume rm <name> | Delete a volume |
docker volume prune | Remove all unused volumes |
4. Network Commands
| Command | Description |
|---|---|
docker network ls | List all networks |
docker network create <name> | Create a network |
docker network inspect <name> | Inspect network |
docker network rm <name> | Delete a network |
docker network prune | Remove unused networks |
5. Docker Compose Commands
| Command | Description |
|---|---|
docker-compose up | Start containers defined in docker-compose.yml |
docker-compose up -d | Start in detached mode |
docker-compose down | Stop & remove containers, networks |
docker-compose down -v | Also remove volumes |
docker-compose build | Build or rebuild services |
docker-compose ps | List running compose services |
docker-compose logs -f | Follow logs for compose services |
docker-compose exec <service> bash | Open terminal in a service |
6. System & Cleanup Commands
| Command | Description |
|---|---|
docker info | Display Docker system-wide information |
docker version | Show Docker client & server versions |
docker system df | Show disk usage by Docker |
docker system prune | Remove unused containers/images/networks |
docker system prune -a | Remove EVERYTHING unused (images, containers, cache) |
docker stats | Live container resource usage (CPU, RAM, network) |
7. Dockerfile Commands (not CLI, but essential)
| Instruction | Purpose |
|---|---|
FROM | Base image |
COPY | Copy files from host into image |
ADD | Like COPY, but supports URLs & archives |
RUN | Execute command during build (creates a layer) |
WORKDIR | Set working directory inside image |
EXPOSE | Document ports container listens on |
ENV | Set environment variables |
CMD | Default command when container starts |
ENTRYPOINT | Primary command that cannot be overridden easily |
USER | Run container as specific user |
VOLUME | Declare mount point |
