12345678910111213141516171819202122232425262728293031323334353637383940 |
- ARG REGISTRY=docker.io
- FROM ${REGISTRY}/golang:1.22.1-alpine3.19 AS builder
- RUN set -eux && sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories
- WORKDIR /app
- ARG APP_ENV
- ARG APP_CONF
- ARG APP_NAME
- ENV APP_ENV=${APP_ENV:?err}
- ENV APP_CONF=${APP_CONF:?err}
- ENV APP_NAME=${APP_NAME:?err}
- COPY . /app
- COPY ${APP_CONF} /app/server.yaml
- RUN export GOPROXY=https://goproxy.cn,direct && \
- go mod tidy && \
- go build -ldflags="-s -w" -o /app/server
- FROM ${REGISTRY}/alpine:3.16
- RUN set -eux && sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories
- RUN apk add tzdata && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
- && echo "Asia/Shanghai" > /etc/timezone \
- && apk del tzdata
- WORKDIR /app
- COPY --from=builder /app /app
- # ENV APP_ENV=${APP_ENV}
- # EXPOSE ${HTTP_PROT}
- ENTRYPOINT [ "./server", "-f", "server.yaml" ]
- # ENTRYPOINT [ "top" ]
- #docker build -t 1.1.1.1:5000/demo-api:v1 --build-arg APP_CONF=config/prod.yml --build-arg APP_RELATIVE_PATH=./cmd/server/... .
- #docker run -it --rm --entrypoint=ash 1.1.1.1:5000/demo-api:v1
|