Easy-Go-Web3
知识图谱Go 教程React Web3智能合约
需求分析系统设计设计模式Go 微服务
项目实战DevOps
Go 生态React 生态智能合约生态Web3 生态AI × Web3工具箱Web3 公司远程Web3求职
🎯 AA 工程师面试手册博客
GitHub
返回微服务模块

容器化部署

使用 Docker 和 K8s 部署微服务

1Dockerfile 最佳实践

多阶段构建减少镜像大小,提高安全性。

dockerfile
1# 构建阶段
2FROM golang:1.21-alpine AS builder
3
4WORKDIR /app
5COPY go.mod go.sum ./
6RUN go mod download
7COPY . .
8RUN CGO_ENABLED=0 go build -o /app/server ./cmd/server
9
10# 运行阶段
11FROM alpine:3.18
12RUN apk --no-cache add ca-certificates
13COPY --from=builder /app/server /server
14EXPOSE 8080
15ENTRYPOINT ["/server"]

2Kubernetes Deployment

使用 Deployment 管理 Pod 的生命周期。

yaml
1apiVersion: apps/v1
2kind: Deployment
3metadata:
4 name: user-service
5spec:
6 replicas: 3
7 selector:
8 matchLabels:
9 app: user-service
10 template:
11 metadata:
12 labels:
13 app: user-service
14 spec:
15 containers:
16 - name: user-service
17 image: user-service:v1.0.0
18 ports:
19 - containerPort: 8080
20 resources:
21 limits:
22 memory: "128Mi"
23 cpu: "500m"
上一模块:可观测性
Easy-Go-Web3

构建 Go 后端与 Web3 的学习之路。从基础到进阶,从理论到实践,助你成为全栈区块链开发者。

学习路径

  • 知识图谱
  • Go 教程
  • Go 微服务
  • 面试手册

资源中心

  • 工具箱
  • DevOps 工具
  • Web3 生态
  • 博客

© 2025 Easy-Go-Web3. All rights reserved.

Created withbyhardybao