Docker 模式¶
适用于生产环境的 Docker 镜像和容器。
使用时机¶
- 编写 Dockerfile
- 优化镜像大小
- 多阶段构建
- 配置网络和持久化
- 部署策略
Dockerfile 最佳实践¶
1. 最小化镜像大小¶
FROM node:18-alpine AS build
WORKDIR /app
COPY package*.json ./
RUN npm install
FROM node:18-alpine
WORKDIR /app
COPY --from=build /app/node_modules ./node_modules
COPY . .
CMD ["node", "server.js"]
2. 层优化¶
# キャッシュを活用するため、変更がない部分を上に
FROM node:18-alpine
WORKDIR /app
# 依存関係(変更が少ない)
COPY package*.json ./
RUN npm install
# アプリケーション(頻繁に変更)
COPY . .
CMD ["node", "server.js"]
3. 安全性¶
- 不要以 root 用户运行
- 避免使用机密信息
- 添加健康检查
docker-compose¶
version: '3.8'
services:
app:
build: .
ports:
- "3000:3000"
environment:
- NODE_ENV=production
volumes:
- ./data:/app/data
depends_on:
- db
db:
image: postgres:15
environment:
- POSTGRES_PASSWORD=secret
检查清单¶
- [ ] 镜像大小优化
- [ ] 安全扫描
- [ ] 健康检查
- [ ] 日志管理
- [ ] 网络配置
有关详细信息,请参阅文档。
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 ev/ECC