mirror of
https://github.com/BagelHole/DevOps-Security-Agent-Skills.git
synced 2026-08-22 12:49:53 +02:00
112 lines
1.7 KiB
Markdown
112 lines
1.7 KiB
Markdown
# Docker Command Reference
|
|
|
|
## Container Lifecycle
|
|
|
|
```bash
|
|
# Run container
|
|
docker run -d --name myapp -p 8080:80 nginx
|
|
docker run -it --rm ubuntu bash
|
|
|
|
# Start/Stop
|
|
docker start myapp
|
|
docker stop myapp
|
|
docker restart myapp
|
|
|
|
# Remove
|
|
docker rm myapp
|
|
docker rm -f myapp # Force
|
|
|
|
# Logs
|
|
docker logs myapp
|
|
docker logs -f myapp # Follow
|
|
docker logs --tail 100 myapp
|
|
```
|
|
|
|
## Images
|
|
|
|
```bash
|
|
# List/Pull/Build
|
|
docker images
|
|
docker pull nginx:latest
|
|
docker build -t myapp:1.0 .
|
|
docker build -t myapp:1.0 -f Dockerfile.prod .
|
|
|
|
# Tag/Push
|
|
docker tag myapp:1.0 registry.example.com/myapp:1.0
|
|
docker push registry.example.com/myapp:1.0
|
|
|
|
# Remove
|
|
docker rmi myapp:1.0
|
|
docker image prune -a # Remove unused
|
|
```
|
|
|
|
## Inspection
|
|
|
|
```bash
|
|
# Container info
|
|
docker ps
|
|
docker ps -a
|
|
docker inspect myapp
|
|
docker stats
|
|
docker top myapp
|
|
|
|
# Exec into container
|
|
docker exec -it myapp bash
|
|
docker exec myapp ls -la /app
|
|
```
|
|
|
|
## Networks
|
|
|
|
```bash
|
|
# List/Create
|
|
docker network ls
|
|
docker network create mynet
|
|
|
|
# Connect container
|
|
docker network connect mynet myapp
|
|
docker run --network mynet nginx
|
|
```
|
|
|
|
## Volumes
|
|
|
|
```bash
|
|
# List/Create
|
|
docker volume ls
|
|
docker volume create mydata
|
|
|
|
# Mount
|
|
docker run -v mydata:/data nginx
|
|
docker run -v $(pwd):/app nginx
|
|
docker run --mount type=bind,source=$(pwd),target=/app nginx
|
|
```
|
|
|
|
## Cleanup
|
|
|
|
```bash
|
|
# Remove stopped containers
|
|
docker container prune
|
|
|
|
# Remove unused images
|
|
docker image prune -a
|
|
|
|
# Remove everything unused
|
|
docker system prune -a --volumes
|
|
|
|
# Disk usage
|
|
docker system df
|
|
```
|
|
|
|
## Multi-stage Build
|
|
|
|
```dockerfile
|
|
FROM node:20 AS builder
|
|
WORKDIR /app
|
|
COPY package*.json ./
|
|
RUN npm ci
|
|
COPY . .
|
|
RUN npm run build
|
|
|
|
FROM nginx:alpine
|
|
COPY --from=builder /app/dist /usr/share/nginx/html
|
|
```
|