diff --git a/Dockerfile b/Dockerfile index ce6446c..92bc93e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,7 +4,7 @@ FROM golang:1.21-alpine AS builder # 设置工作目录 WORKDIR /workspace -# 将代码复制到容器内(你也可以选择在构建过程中通过挂载代码) +# 将代码复制到容器内 COPY . . # 设置 Go 模块缓存和构建缓存目录 @@ -12,10 +12,19 @@ ENV GOMODCACHE=/go/pkg/mod ENV GOCACHE=/go/cache # 编译可执行文件 -RUN go build -o myapp -ldflags "-X main.RunMode=test -s -w" +RUN go mod tidy && go build -o myapp -ldflags "-X main.RunMode=test -s -w" + +# 使用更小的基础镜像运行编译后的可执行文件 +FROM alpine:latest + +# 创建工作目录 +WORKDIR /app + +# 复制编译后的可执行文件到新的镜像 +COPY --from=builder /workspace/myapp /app/ # 暴露容器端口 EXPOSE 11000 -# 运行应用程序 -CMD ["./myapp"] +# 设置容器启动命令 +CMD ["/app/myapp"]