Cloud
Pokročilý
Dockerfile Best Practices
Optimalizace Dockerfile pro menší images, rychlejší build a bezpečnost.
Multi-stage build
# Build stage
FROM node:20 AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build
# Production stage
FROM node:20-alpine
WORKDIR /app
COPY --from=builder /app/dist ./dist
COPY --from=builder /app/node_modules ./node_modules
USER node
EXPOSE 3000
CMD ["node", "dist/server.js"]
Best practices
- Používejte alpine base images
- Oddělte COPY package.json od COPY . (layer caching)
- Přidejte .dockerignore
- Spouštějte jako non-root user
- Používejte specific tags, ne :latest
- Minimalizujte počet vrstev
.dockerignore
node_modules
.git
.env
*.md
Dockerfile
docker-compose.yml
Shrnutí
Správný Dockerfile = malý image, rychlý build, bezpečný runtime. Multi-stage builds jsou základ.
Potřebujete pomoct s implementací?
Náš tým má zkušenosti s návrhem a implementací moderních architektur. Rádi vám pomůžeme.
Nezávazná konzultace