Docker Quick Reference
Essential Docker commands and Dockerfile patterns for containerizing Node.js and Python applications.
Syntax
environments-and-security
// Dockerfile | docker CLI | docker-composeExample
environments-and-security
// Minimal Node.js Dockerfile
FROM node:20-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
EXPOSE 3000
CMD ["node", "index.js"]
// Essential Docker CLI commands
docker build -t myapp:latest . // build image
docker run -p 3000:3000 myapp:latest // run container
docker ps // list running containers
docker logs <container-id> // view logs
docker exec -it <id> sh // open shell in container
docker stop <container-id> // stop container
docker system prune // clean up unused resources
// docker-compose.yml (multi-service)
version: '3.8'
services:
app:
build: .
ports: ["3000:3000"]
environment:
- DATABASE_URL=postgres://db:5432/mydb
depends_on: [db]
db:
image: postgres:15
environment:
POSTGRES_PASSWORD: secret
// Run with:
docker compose up -d // start in background
docker compose down // stop and remove