Docker多阶段构建与镜像优化
3 阅读
预计 3 分钟
优化Docker镜像大小和构建速度是云原生开发的基本功。
## 多阶段构建
```dockerfile
FROM golang:1.21 AS builder
WORKDIR /app
COPY go.mod go.sum ./
RUN go mod download
COPY . .
RUN CGO_ENABLED=0 GOOS=linux go build -o server .
FROM scratch
COPY --from=builder /app/server /server
EXPOSE 8080
ENTRYPOINT ["/server"]
```
## 构建缓存优化
```dockerfile
COPY package.json package-lock.json ./
RUN npm ci
COPY . .
```
## .dockerignore
```
node_modules
.git
*.md
.env
dist
```
## 安全扫描
```bash
trivy image myimage:latest
```
镜像优化的核心:减少层数、利用缓存、使用最小基础镜像。
0 条评论 欢迎参与讨论