Container Commands
- docker runCreate & start
- docker start/stopStart/stop
- docker psList running
- docker ps -aList all
- docker rmRemove
- docker logsView logs
- docker exec -itRun command
Image Commands
- docker imagesList images
- docker pullDownload image
- docker pushUpload image
- docker buildBuild image
- docker tagTag image
- docker rmiRemove image
Volume Commands
- docker volume lsList volumes
- docker volume createCreate volume
- docker volume rmRemove volume
- docker volume inspectInspect
- docker volume pruneRemove unused
Network Commands
- docker network lsList networks
- docker network createCreate network
- docker network connectConnect container
- docker network disconnectDisconnect
- docker network inspectInspect
Run Options
# Common run options
docker run -d # Detached mode (background)
docker run -it # Interactive terminal
docker run --name myapp # Assign name
docker run -p 8080:80 # Port mapping host:container
docker run -v /host:/container # Volume mount
docker run -e VAR=value # Environment variable
docker run --rm # Remove on exit
docker run --network mynet # Specify network
docker run --restart always # Restart policy
Dockerfile Instructions
FROM node:18-alpine # Base image
WORKDIR /app # Set working directory
COPY package*.json ./ # Copy files
RUN npm ci --only=production # Execute command
COPY . . # Copy app source
ENV NODE_ENV=production # Set environment var
EXPOSE 3000 # Document port
USER node # Run as non-root user
CMD ["node", "server.js"] # Default command
Docker Compose Example
version: '3.8'
services:
web:
build: .
ports:
- "3000:3000"
environment:
- DATABASE_URL=postgres://db:5432/mydb
depends_on:
- db
db:
image: postgres:15
volumes:
- pgdata:/var/lib/postgresql/data
environment:
- POSTGRES_DB=mydb
volumes:
pgdata:
Compose Commands
- docker compose upStart services
- docker compose up -dDetached mode
- docker compose downStop & remove
- docker compose logsView logs
- docker compose psList services
- docker compose buildBuild images
System Commands
- docker system dfDisk usage
- docker system pruneCleanup all
- docker infoSystem info
- docker statsLive stats
- docker inspectLow-level info