dashboard/Dockerfile

37 lines
771 B
Docker

FROM golang:alpine AS builder
# 为我们的镜像设置必要的环境变量
ENV GO111MODULE=on \
GOPROXY=https://goproxy.cn,direct \
CGO_ENABLED=0 \
GOOS=linux \
GOARCH=amd64
# 移动到工作目录:/build
WORKDIR /build
# 将代码复制到容器中
COPY . .
# 将我们的代码编译成二进制可执行文件 app
RUN go mod tidy && go build -o dash .
###################
# 接下来创建一个小镜像
###################
FROM alpine
WORKDIR /app
# 从builder镜像中把静态文件拷贝到当前目录
COPY ./static .
# 从builder镜像中把配置文件拷贝到当前目录
COPY ./config .
# 从builder镜像中把/dist/app 拷贝到当前目录
COPY --from=builder /build/dash .
# 需要运行的命令
ENTRYPOINT ["/app/dash"]