Skip to content
鼓励作者:欢迎打赏犒劳

docker打包go服务

单体服务

只有go

Dockerfile 文件

shell
# 构建阶段
FROM golang:1.22-alpine AS builder
WORKDIR /app
COPY go.mod go.sum ./
RUN go mod download
COPY . .
RUN CGO_ENABLED=0 GOOS=linux go build -o main .

# 运行阶段
FROM alpine:latest
RUN apk --no-cache add ca-certificates
WORKDIR /root/
COPY --from=builder /app/main .
EXPOSE 8080
CMD ["./main"]

打包测试

shell
# 构建镜像
docker build -t go-web-demo .

# 运行容器(映射 8080 端口)
docker run -d -p 8080:8080 --name my-go-app go-web-demo

# 测试
curl http://localhost:8080
# 输出: {"hello":"world"}

如有转载或 CV 的请标注本站原文地址