FROM golang:1.17.13-alpine3.16

# 修改服务器的时区
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories \
    && apk update && apk --no-cache add tzdata \
    && cp -rf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

# 传入构建参数 arg只在构建的时候有效,要想在容器内有效只能使用ENV,把arg赋值给ENV
#docker build --build-arg jobFlag=1 -t XXX:V1 .
ARG jobFlag=0
# 为镜像设置必要的环境变量
ENV GO111MODULE=on \
    CGO_ENABLED=0 \
    GOOS=linux \
    GOARCH=amd64 \
    GOPROXY="https://goproxy.cn,direct" \
    JobENV=${jobFlag}

# 移动到工作目录：/build
WORKDIR /build

# 将代码复制到容器中
COPY . .

# 将代码编译成二进制可执行文件,可执行名为 app
RUN go build -o app .

# 声明服务器端口
#EXPOSE 8000

# 启动容器时执行的命令
#CMD ["/build/app","-job","$JobENV"]
#RUN echo "CMD /build/app -job ${JobENV}"
CMD /build/app -job ${JobENV}