0%
模板
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| ARG GO_VERSION=1.15 FROM golang:${GO_VERSION} AS builder ENV GOPROXY="https://goproxy.cn"
ENV APP_PATH="/app/goapp" WORKDIR "/app"
COPY . .
RUN go mod download RUN CGO_ENABLED=0 GOARCH=amd64 GOOS=linux go build -a -o ${APP_PATH} . RUN ls
FROM alpine:3.10 AS final
ENV APP_PATH="/app/goapp" WORKDIR "/app"
COPY --from=builder ${APP_PATH} ${APP_PATH}
ENTRYPOINT ["/app/goapp"]
|
构建命令:
1
| docker build -t app:1.0 --build-arg GO_VERSION=1.13 .
|
模板说明:
- 构建命令不指定
--build-arg GO_VERSION=1.13
时,默认使用go1.15进行编译。
- 使用
alpine
作为运行基础镜像,减小镜像大小。
- Dockerfile文件放到main.go所在目录。
- 把
goapp
替换成真正的程序名称。