github.com/pingcap/tiflow@v0.0.0-20240520035814-5bf52d54e205/dm/Dockerfile (about)

     1  FROM golang:1.21-alpine as builder
     2  MAINTAINER siddontang
     3  
     4  RUN apk add --no-cache git make
     5  
     6  RUN mkdir -p /go/src/github.com/pingcap/dm
     7  WORKDIR /go/src/github.com/pingcap/dm
     8  
     9  # Cache dependencies
    10  COPY go.mod .
    11  COPY go.sum .
    12  
    13  RUN GO111MODULE=on go mod download
    14  
    15  COPY . .
    16  
    17  RUN apk update && apk add bash
    18  
    19  RUN make dm-worker dm-master dmctl
    20  
    21  FROM alpine:3.15
    22  
    23  # keep compatibility
    24  COPY --from=builder /go/src/github.com/pingcap/dm/bin/dm-worker /dm-worker
    25  COPY --from=builder /go/src/github.com/pingcap/dm/bin/dm-master /dm-master
    26  COPY --from=builder /go/src/github.com/pingcap/dm/bin/dmctl /dmctl
    27  
    28  COPY --from=builder /go/src/github.com/pingcap/dm/bin/dm-worker /bin/dm-worker
    29  COPY --from=builder /go/src/github.com/pingcap/dm/bin/dm-master /bin/dm-master
    30  COPY --from=builder /go/src/github.com/pingcap/dm/bin/dmctl /bin/dmctl
    31  
    32  EXPOSE 8261 8262 8291
    33