github.com/zcqzcg/fabric-ca@v2.0.0-alpha.0.20200416163940-d878ee6db75a+incompatible/images/fabric-ca-fvt/Dockerfile (about)

     1  #
     2  # Copyright IBM Corp. All Rights Reserved.
     3  #
     4  # SPDX-License-Identifier: Apache-2.0
     5  #
     6  ARG GO_VER
     7  FROM golang:${GO_VER}-buster as fabric-ca-builder
     8  ARG GO_LDFLAGS
     9  ARG GO_TAGS
    10  
    11  ADD . ${GOPATH}/src/github.com/hyperledger/fabric-ca
    12  RUN go build -tags "${GO_TAGS}" -ldflags "${GO_LDFLAGS}" \
    13  	-o /usr/local/bin/fabric-ca-server \
    14  	github.com/hyperledger/fabric-ca/cmd/fabric-ca-server \
    15  	&& go build -tags "${GO_TAGS}" -ldflags "${GO_LDFLAGS}" \
    16  	-o /usr/local/bin/fabric-ca-client \
    17  	github.com/hyperledger/fabric-ca/cmd/fabric-ca-client;
    18  
    19  FROM debian:buster-20190910-slim
    20  ARG PG_VER
    21  
    22  ENV PATH="/usr/local/go/bin/:${PATH}" \
    23      DEBIAN_FRONTEND="noninteractive" \
    24      GOPATH="/opt/gopath" \
    25      PGDATA="/usr/local/pgsql/data/" \
    26      PGUSER="postgres" \
    27      PGPASSWORD="postgres" \
    28      PGSSLCERT="/etc/hyperledger/fabric-ca/FabricTlsClientEEcert.pem" \
    29      PGSSLKEY="/etc/hyperledger/fabric-ca/FabricTlsClientEEkey.pem" \
    30      PGVER=${PG_VER} \
    31      HOSTADDR="127.0.0.1" \
    32      LDAPPORT="389" \
    33      LDAPUSER="admin" \
    34      LDAPPASWD="adminpw" \
    35      FABRIC_CA_DATA=/etc/hyperledger/fabric-ca \
    36      TLS_BUNDLE=FabricTlsPkiBundle.pem \
    37      TLS_SERVER_CERT=FabricTlsServerEEcert.pem \
    38      TLS_SERVER_KEY=FabricTlsServerEEkey.pem \
    39      TLS_CLIENT_CERT=FabricTlsClientEEcert.pem \
    40      TLS_CLIENT_KEY=FabricTlsClientEEkey.pem \
    41      MYSQLDATA=/var/lib/mysql
    42  
    43  RUN apt-get clean && apt-get update && apt-get install openssl -y
    44  
    45  # setup scripts for slapd, postgres, mysql, and openssl
    46  COPY ./images/fabric-ca-fvt/payload ${FABRIC_CA_DATA}
    47  RUN chmod +x ${FABRIC_CA_DATA}/*sh
    48  RUN cd ${FABRIC_CA_DATA}
    49  RUN $FABRIC_CA_DATA/tls_pki.sh
    50  RUN chmod 600 ${FABRIC_CA_DATA}/${TLS_SERVER_KEY}
    51  RUN chmod 600 ${FABRIC_CA_DATA}/${TLS_CLIENT_KEY}
    52  
    53  # Avoid ERROR:
    54  #   invoke-rc.d: policy-rc.d denied execution of start.
    55  RUN echo "#!/bin/sh\nexit 0" > /usr/sbin/policy-rc.d
    56  
    57  RUN ${FABRIC_CA_DATA}/system_update.sh
    58  RUN ${FABRIC_CA_DATA}/postgres_setup.sh
    59  RUN ${FABRIC_CA_DATA}/slapd_setup.sh
    60  RUN ${FABRIC_CA_DATA}/mysql_setup.sh
    61  
    62  COPY --from=fabric-ca-builder /usr/local/go /usr/local
    63  
    64  # Install fabric-ca dependencies
    65  RUN go get github.com/go-sql-driver/mysql
    66  RUN go get github.com/lib/pq
    67  
    68  # Add docker-built execs for (potentially) alternative architecture
    69  COPY --from=fabric-ca-builder /usr/local/bin /usr/local/bin
    70  
    71  WORKDIR ${GOPATH}/src/github.com/hyperledger/fabric-ca
    72  RUN cp ${FABRIC_CA_DATA}/start.sh /
    73  ENTRYPOINT [ "/start.sh" ]
    74  CMD ["scripts/run_fvt_tests"]