Docker Quick Reference

Essential Docker commands and Dockerfile patterns for containerizing Node.js and Python applications.

Syntax

environments-and-security
// Dockerfile | docker CLI | docker-compose

Example

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