代码拉取完成,页面将自动刷新
# 将项目构建成二进制可执行文件
FROM golang:alpine AS builder
ARG LMS_DIR=/go/src/github.com/lms
WORKDIR $LMS_DIR/server
COPY . .
# 设置go的环境变量,设置后展示go的环境变量列表,下载依赖,进行build构建
RUN go env -w GO111MODULE=on \
&& go env -w GOPROXY=https://goproxy.cn,direct \
&& go env -w CGO_ENABLED=0 \
&& go env \
&& go mod tidy \
&& go build -o lms_server .
# 接下来创建镜像
FROM alpine:latest
LABEL MAINTAINER="turbochang@126.com"
ARG LMS_DIR=/go/src/github.com/lms
# 设置时区为上海:由于alpine的时间标准时区,所以这里要下载时间文件更新为上海时区,为了精简然后再把tzdata删除即可。
RUN apk --update add tzdata && \
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
echo "Asia/Shanghai" > /etc/timezone && \
apk del tzdata && \
rm -rf /var/cache/apk/*
# 设置编码
ENV LANG C.UTF-8
# 切换工作目录
WORKDIR $LMS_DIR
# 将build的执行文件、yaml文件从builder的目录下复制到该容器目录下
COPY --from=0 $LMS_DIR/server/lms_server ./
COPY --from=0 $LMS_DIR/server/config-docker.yaml ./
# 挂载,docker会在安装目录下的指定目录下面生成一个目录来绑定容器的匿名卷。方便修改config-docker.yaml文件
VOLUME $LMS_DIR
# 声明服务端口
EXPOSE 8888
# 启动时需要运行的命令
ENTRYPOINT ./lms_server -conf config-docker.yaml
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。