Docker Cheat Sheet
# Docker Cheat Sheet
## Images
```
docker build -t name:tag .
docker images # List images
docker rmi <image> # Remove image
docker image prune # Remove unused
```
## Containers
```
docker run -d -p 8080:80 --name web nginx
docker ps # Running
docker ps -a # All
docker stop <name>
docker rm <name>
docker logs <name>
docker exec -it <name> bash
```
## Volumes
```
docker volume create myvol
docker volume ls
docker run -v myvol:/data image
```
## Compose
```
docker compose up -d
docker compose down
docker compose logs -f
docker compose ps
```
## Cleanup
```
docker system prune -a # Remove everything unused
docker container prune # Remove stopped containers
docker volume prune # Remove unused volumes
```
## Dockerfile Best Practices
- Use multi-stage builds
- Order layers by change frequency
- Use .dockerignore
- Don't run as root
- Pin base image versions