github.com/brandonmartin/migrate/v4@v4.14.2/Dockerfile-oracle (about)

     1  FROM golang:1.13-buster as builder
     2  
     3  RUN apt-get update && apt-get install -y --no-install-recommends zip unzip build-essential libaio1 \
     4  	&& rm -rf /var/lib/apt/lists/*
     5  
     6  ARG VERSION
     7  
     8  RUN wget https://maxnilz.com/instantclient-basiclite-linux.x64-18.5.0.0.0dbru.zip \
     9      && mkdir -p /opt/oracle \
    10      && unzip -d /opt/oracle instantclient-basiclite-linux.x64-18.5.0.0.0dbru.zip \
    11      && rm -rf instantclient-basiclite-linux.x64-18.5.0.0.0dbru.zip
    12  
    13  ENV LD_LIBRARY_PATH="/opt/oracle/instantclient_18_5"
    14  
    15  WORKDIR /go/src/github.com/golang-migrate/migrate
    16  
    17  COPY go.mod go.sum ./
    18  
    19  RUN go mod download
    20  
    21  COPY . ./
    22  
    23  RUN go build -a -o build/migrate.linux-386 -ldflags="-s -w -X main.Version=${VERSION}" -tags "oracle" ./cmd/migrate
    24  
    25  FROM debian:buster-slim
    26  
    27  RUN apt-get update && apt-get install -y --no-install-recommends libaio1 ca-certificates \
    28  	&& rm -rf /var/lib/apt/lists/*
    29  
    30  COPY --from=builder /opt/oracle/instantclient_18_5 /opt/oracle/instantclient_18_5
    31  COPY --from=builder /go/src/github.com/golang-migrate/migrate/build/migrate.linux-386 /migrate
    32  
    33  ENV LD_LIBRARY_PATH="/opt/oracle/instantclient_18_5:${LD_LIBRARY_PATH}"
    34  
    35  ENTRYPOINT ["/migrate"]
    36  CMD ["--help"]