导航菜单

Go语言/容器化部署
课程进度 93% · 第22/23章22/23章 · 标签 1/3
1

容器基础

容器是一种轻量级、可移植的虚拟化技术,常用Docker实现。容器隔离进程、文件系统和网络,便于应用打包和部署。

  • 镜像(Image):应用及其依赖的只读模板
  • 容器(Container):镜像运行时的实例
  • 仓库(Registry):存储和分发镜像
2

Dockerfile与镜像

Dockerfile用于定义镜像构建过程。Go项目常用多阶段构建,减小镜像体积。

dockerfile
1
# 多阶段构建Go应用的Dockerfile
2
FROM golang:1.21-alpine AS builder
3
WORKDIR /app
4
COPY . .
5
RUN go build -o main .
6
 
7
FROM alpine:latest
8
WORKDIR /root/
9
COPY --from=builder /app/main .
10
EXPOSE 8080
11
CMD ["./main"]
  • 使用alpine等精简基础镜像
  • 分阶段构建,减少最终镜像体积
Dockerfile多阶段构建alpine镜像