Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nec odio. Praesent libero. Sed cursus ante dapibus diam. Sed nisi. Nulla quis sem at nibh elementum imperdiet. Duis sagittis ipsum. Praesent mauris. Fusce nec tellus sed augue semper porta. Mauris massa.
Suspendisse consequat ornare venenatis. Suspendisse mi quam, consequat sit amet lectus vitae, auctor ullamcorper nisl. Morbi mauris risus, venenatis et tortor a, finibus aliquam justo. Class aptent taciti sociosqu ad litora torquent per conubia nostra.
Image Building Best Practices
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin fermentum, nisi nec vulputate cursus:
# Good practice - specific tags
FROM node:20.10.0-alpine3.18
# Bad practice
FROM node:latest
Multi-stage Builds
Vestibulum ante ipsum primis in faucibus orci luctus:
# Build stage
FROM node:20.10.0-alpine AS build
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build
# Production stage
FROM node:20.10.0-alpine
WORKDIR /app
COPY --from=build /app/dist ./dist
CMD ["node", "dist/index.js"]
Security Best Practices
Pellentesque habitant morbi tristique senectus et netus:
Run as Non-root User
Lorem ipsum dolor sit amet, consectetur adipiscing elit:
FROM node:20.10.0-alpine
WORKDIR /app
COPY --chown=node:node . .
USER node
CMD ["npm", "start"]
Secret Management
Aliquam erat volutpat. Donec nec urna vitae lacus dictum iaculis:
# docker-compose.yml with secrets
services:
app:
image: my-app:1.0.0
secrets:
- db_password
environment:
- DB_USER=admin
secrets:
db_password:
file: ./secrets/db_password.txt
Development Workflow
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus efficitur ex a sem pretium:
# docker-compose.dev.yml
services:
app:
build:
context: .
target: development
volumes:
- .:/app
- /app/node_modules
ports:
- "3000:3000"
Health Checks
Ut sed erat nec turpis sollicitudin blandit:
HEALTHCHECK --interval=30s --timeout=30s --start-period=5s \
CMD curl -f http://localhost:3000/health || exit 1
"Lorem ipsum dolor sit amet. Docker best practices improve security, efficiency, and maintainability."
— Container Guide