diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..94dc8c03 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,29 @@ + +FROM golang:alpine as builder + +MAINTAINER xxx + +ENV GOPROXY https://goproxy.cn/ + +WORKDIR /go/release +RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories +RUN apk update && apk add tzdata + +COPY ./go.mod ./go.mod +RUN go mod download +COPY . . +RUN pwd && ls + +RUN CGO_ENABLED=0 GOOS=linux go build -ldflags="-w -s" -a -installsuffix cgo -o go-admin . + +FROM alpine + +COPY --from=builder /go/release/go-admin / +COPY --from=builder /go/release/config/ /config/ + +COPY --from=builder /usr/share/zoneinfo/Asia/Shanghai /etc/localtime + +EXPOSE 8000 + +CMD ["/go-admin","server","-c", "/config/settings.yml"] + diff --git a/README.md b/README.md index 35377ebc..857a5fec 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ [English](https://github.com/wenjianzhang/go-admin/blob/master/README.en.md) | 简体中文 - + ##### 基于Gin + Vue + Element UI的前后端分离权限管理系统 @@ -167,7 +167,20 @@ vi ./config/setting.yml ``` +#### 使用docker 编译启动 + +```shell +# 编译镜像 +docker build -t go-admin . + +# 启动容器,第一个go-admin是容器名字,第二个go-admin是镜像名称 +docker run --name go-admin -p 8000:8000 -d go-admin +``` + + + #### 文档生成 + ```bash swag init