dashboard/Dockerfile
2025-05-22 09:42:31 +08:00

39 lines
827 B
Docker

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