github.com/IBM-Blockchain/fabric-operator@v1.0.4/Dockerfile (about)

     1  ARG GO_VER
     2  
     3  ########## Build operator binary ##########
     4  FROM registry.access.redhat.com/ubi8/go-toolset:$GO_VER as builder
     5  
     6  COPY . /go/src/github.com/hyperledger-labs/fabric-operator
     7  WORKDIR /go/src/github.com/hyperledger-labs/fabric-operator
     8  
     9  # RUN GOOS=linux GOARCH=$(go env GOARCH) CGO_ENABLED=1 go build
    10  RUN go build \
    11      -tags "pkcs11" \
    12      -gcflags all=-trimpath=${GOPATH} \
    13      -asmflags all=-trimpath=${GOPATH} \
    14      -o /tmp/build/_output/bin/ibp-operator
    15  
    16  ########## Final Image ##########
    17  FROM registry.access.redhat.com/ubi8/ubi-minimal
    18  
    19  ENV OPERATOR=/usr/local/bin/ibp-operator
    20  
    21  COPY --from=builder /tmp/build/_output/bin/ibp-operator ${OPERATOR}
    22  COPY build/ /usr/local/bin
    23  COPY definitions /definitions
    24  COPY config/crd/bases /deploy/crds
    25  COPY defaultconfig /defaultconfig
    26  COPY docker-entrypoint.sh .
    27  
    28  RUN microdnf update \
    29      && microdnf install -y \
    30      shadow-utils \
    31      iputils \
    32      && groupadd -g 7051 fabric-user \
    33      && useradd -u 7051 -g fabric-user -s /bin/bash fabric-user \
    34      && mkdir /licenses \
    35      && microdnf remove shadow-utils \
    36      && microdnf clean all \
    37      && chown -R fabric-user:fabric-user licenses \
    38      && /usr/local/bin/user_setup
    39  
    40  USER fabric-user
    41  ENTRYPOINT ["/docker-entrypoint.sh"]
    42  CMD ["/usr/local/bin/entrypoint"]