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

docker打包go服务

单体服务

只有go

Dockerfile 文件

shell
# 构建阶段
FROM golang:1.25-alpine AS builder
# 设置国内 Go 代理(关键!)
ENV GOPROXY=https://goproxy.cn,direct

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 8888
CMD ["./main"]

打包测试

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

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

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

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