Docker
Manage Docker containers, images, volumes, and networks.
Containers
# List running containers
docker ps
# List all containers (including stopped)
docker ps -a
# Run container
docker run -d --name myapp -p 8080:80 nginx
# Run with environment variables
docker run -d -e DATABASE_URL=postgres://... -e API_KEY=xxx myimage
# Run with volume
docker run -d -v /host/path:/container/path myimage
# Run interactively
docker run -it ubuntu bash
# Stop container
docker stop myapp
# Start container
docker start myapp
# Remove container
docker rm myapp
# Force remove running container
docker rm -f myapp
Execute in Container
# Execute command
docker exec myapp ls /app
# Interactive shell
docker exec -it myapp bash
# Run as specific user
docker exec -u root myapp command
# Copy files
docker cp file.txt myapp:/app/
docker cp myapp:/app/logs/ ./logs/
Logs & Monitoring
# View logs
docker logs myapp
# Follow logs
docker logs -f myapp
# Last 100 lines
docker logs --tail 100 myapp
# With timestamps
docker logs -t myapp
# Stats (CPU, memory, network)
docker stats myapp
# Inspect container
docker inspect myapp
Images
# List images
docker images
# Pull image
docker pull nginx:latest
docker pull node:18-alpine
# Build image
docker build -t myapp:latest .
# Build with no cache
docker build --no-cache -t myapp:latest .
# Remove image
docker rmi nginx:latest
# Remove dangling images
docker image prune
# Save/load image
docker save myapp:latest | gzip > myapp.tar.gz
docker load < myapp.tar.gz
Docker Compose
# Start services
docker compose up -d
# Build and start
docker compose up -d --build
# Stop services
docker compose down
# View logs
docker compose logs -f
# Scale service
docker compose up -d --scale web=3
# Execute in service
docker compose exec web bash
Volumes
# List volumes
docker volume ls
# Create volume
docker volume create mydata
# Inspect volume
docker volume inspect mydata
# Remove volume
docker volume rm mydata
# Remove unused volumes
docker volume prune
Networks
# List networks
docker network ls
# Create network
docker network create mynet
# Connect container to network
docker network connect mynet myapp
# Disconnect
docker network disconnect mynet myapp
# Remove network
docker network rm mynet
Cleanup
# Remove all stopped containers
docker container prune
# Remove all unused images
docker image prune -a
# Remove everything unused
docker system prune -a
# Show disk usage
docker system df
Tips
- Use
--rmto auto-remove containers after exit - Use
-dfor detached (background) mode - Use
-p host:containerfor port mapping - Use
--restart unless-stoppedfor auto-restart - Use
docker composefor multi-container apps
Triggers
docker, container, docker container, docker image, docker compose, run container, docker logs, docker build
Converted and distributed by TomeVault — claim your Tome and manage your conversions.