课程进度 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镜像