2023-02-24 22:20:00 +08:00
|
|
|
FROM golang:1.18.10-alpine3.16 AS builder
|
2022-06-01 17:16:45 +08:00
|
|
|
|
2022-06-01 17:56:27 +08:00
|
|
|
# ENV GOPROXY https://goproxy.io
|
2022-06-01 17:16:45 +08:00
|
|
|
|
2023-01-16 18:21:11 +08:00
|
|
|
RUN mkdir /app && apk add --no-cache --virtual .build-deps \
|
|
|
|
ca-certificates \
|
|
|
|
gcc \
|
|
|
|
g++
|
|
|
|
|
2022-06-01 17:16:45 +08:00
|
|
|
ADD . /app/
|
2023-01-16 18:21:11 +08:00
|
|
|
|
2022-06-01 17:16:45 +08:00
|
|
|
WORKDIR /app
|
2023-01-16 18:21:11 +08:00
|
|
|
|
2022-07-13 16:43:05 +08:00
|
|
|
RUN sed -i 's@localhost:389@openldap:389@g' /app/config.yml \
|
|
|
|
&& sed -i 's@host: localhost@host: mysql@g' /app/config.yml && go build -o go-ldap-admin .
|
2022-06-01 17:16:45 +08:00
|
|
|
|
2023-01-16 18:21:11 +08:00
|
|
|
### build final image
|
2023-02-24 22:20:00 +08:00
|
|
|
FROM alpine:3.16
|
2023-01-16 18:21:11 +08:00
|
|
|
|
|
|
|
# we set the timezone `Asia/Shanghai` by default, you can be modified
|
|
|
|
# by `docker build --build-arg="TZ=Other_Timezone ..."`
|
|
|
|
ARG TZ="Asia/Shanghai"
|
|
|
|
|
|
|
|
ENV TZ ${TZ}
|
|
|
|
|
2022-06-01 17:16:45 +08:00
|
|
|
RUN mkdir /app
|
2023-01-16 18:21:11 +08:00
|
|
|
|
2022-06-01 17:16:45 +08:00
|
|
|
WORKDIR /app
|
2023-01-16 18:21:11 +08:00
|
|
|
|
2022-06-01 17:16:45 +08:00
|
|
|
COPY --from=builder /app/ .
|
2023-01-16 18:21:11 +08:00
|
|
|
|
|
|
|
|
|
|
|
RUN apk upgrade \
|
2023-03-10 17:51:39 +08:00
|
|
|
&& apk add bash tzdata sqlite vim \
|
2023-01-16 18:21:11 +08:00
|
|
|
&& ln -sf /usr/share/zoneinfo/${TZ} /etc/localtime \
|
|
|
|
&& echo ${TZ} > /etc/timezone
|
|
|
|
|
|
|
|
RUN chmod +x wait go-ldap-admin
|
2022-06-01 23:06:27 +08:00
|
|
|
|
2023-05-31 22:18:22 +08:00
|
|
|
# see wait repo: https://github.com/ufoscout/docker-compose-wait
|
2022-07-13 16:43:05 +08:00
|
|
|
CMD ./wait && ./go-ldap-admin
|