docker
Setup
macOS:
brew install docker
Or download Docker Desktop from https://docker.com
Verify installation:
docker --version
Resources
Containers
| Command | Description |
|---|
docker run <image> | Run a container from an image |
docker run -d -p 8080:80 --name myapp nginx | Run detached with port mapping and name |
docker run -it --rm ubuntu bash | Run interactive container and remove on exit |
docker run -v $(pwd):/app -w /app node:20 npm start | Run with volume mount and working directory |
docker run --env-file .env <image> | Run with environment variables from file |
docker ps | List running containers |
docker ps -a | List all containers including stopped |
docker stop <container> | Stop a running container |
docker rm <container> | Remove a stopped container |
docker rm -f <container> | Force remove a running container |
docker exec -it <container> bash | Open a shell in a running container |
docker exec <container> <command> | Execute a command in a running container |
docker logs <container> | View container logs |
docker logs -f <container> | Follow container logs in realtime |
docker logs --tail 100 <container> | Show last 100 lines of logs |
Images
| Command | Description |
|---|
docker build -t myapp . | Build an image from Dockerfile |
docker build -t myapp:v1 -f Dockerfile.prod . | Build with tag and custom Dockerfile |
docker images | List local images |
docker pull <image> | Pull an image from registry |
docker push <image> | Push an image to registry |
docker rmi <image> | Remove a local image |
docker tag <image> <new-tag> | Tag an image |
Docker Compose
| Command | Description |
|---|
docker compose up | Start all services defined in compose file |
docker compose up -d | Start services in detached mode |
docker compose up --build | Rebuild images before starting |
docker compose down | Stop and remove containers, networks |
docker compose down -v | Stop and remove including volumes |
docker compose build | Build or rebuild services |
docker compose ps | List running compose services |
docker compose logs -f | Follow logs for all services |
docker compose exec <service> bash | Open a shell in a service container |
docker compose pull | Pull latest images for services |
Volumes and Networks
| Command | Description |
|---|
docker volume ls | List all volumes |
docker volume create <name> | Create a named volume |
docker volume rm <name> | Remove a volume |
docker volume prune | Remove unused volumes |
docker network ls | List all networks |
docker network create <name> | Create a network |
docker network rm <name> | Remove a network |
System
| Command | Description |
|---|
docker system prune | Remove unused data (containers, images, networks) |
docker system prune -a --volumes | Remove all unused data including volumes |
docker system df | Show disk usage |
Global Flags
| Flag | Description |
|---|
--format | Format output using Go templates or json |
--quiet | Only display IDs |
--no-trunc | Do not truncate output |