github.com/hxx258456/fabric-ca-gm@v0.0.3-0.20221111064038-a268ad7e3a37/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 . /build/fabric-ca
    12  WORKDIR /build/fabric-ca
    13  RUN go env -w GOPROXY=https://goproxy.cn,direct \
    14      && go build -tags "${GO_TAGS}" -ldflags "${GO_LDFLAGS}" \
    15  	-o /usr/local/bin/fabric-ca-server \
    16      github.com/hxx258456/fabric-ca-gm/cmd/fabric-ca-server \
    17  	&& go build -tags "${GO_TAGS}" -ldflags "${GO_LDFLAGS}" \
    18  	-o /usr/local/bin/fabric-ca-client \
    19      github.com/hxx258456/fabric-ca-gm/cmd/fabric-ca-client
    20  
    21  FROM debian:buster-20210816-slim
    22  ARG PG_VER
    23  
    24  ENV PATH="/usr/local/go/bin/:${PATH}" \
    25      DEBIAN_FRONTEND="noninteractive" \
    26      PGDATA="/usr/local/pgsql/data/" \
    27      PGUSER="postgres" \
    28      PGPASSWORD="postgres" \
    29      PGSSLCERT="/etc/hyperledger/fabric-ca/FabricTlsClientEEcert.pem" \
    30      PGSSLKEY="/etc/hyperledger/fabric-ca/FabricTlsClientEEkey.pem" \
    31      PGVER=${PG_VER} \
    32      HOSTADDR="127.0.0.1" \
    33      LDAPPORT="389" \
    34      LDAPUSER="admin" \
    35      LDAPPASWD="adminpw" \
    36      FABRIC_CA_DATA=/etc/hyperledger/fabric-ca \
    37      TLS_BUNDLE=FabricTlsPkiBundle.pem \
    38      TLS_SERVER_CERT=FabricTlsServerEEcert.pem \
    39      TLS_SERVER_KEY=FabricTlsServerEEkey.pem \
    40      TLS_CLIENT_CERT=FabricTlsClientEEcert.pem \
    41      TLS_CLIENT_KEY=FabricTlsClientEEkey.pem \
    42      MYSQLDATA=/var/lib/mysql
    43  
    44  RUN \
    45      ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
    46      && sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list \
    47      && sed -i 's/security.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list \
    48      && apt-get clean && apt-get update && apt-get install openssl -y
    49  
    50  # setup scripts for slapd, postgres, mysql, and openssl
    51  COPY ./images/fabric-ca-fvt/payload ${FABRIC_CA_DATA}
    52  RUN chmod +x ${FABRIC_CA_DATA}/*sh
    53  RUN cd ${FABRIC_CA_DATA}
    54  RUN $FABRIC_CA_DATA/tls_pki.sh
    55  RUN chmod 600 ${FABRIC_CA_DATA}/${TLS_SERVER_KEY}
    56  RUN chmod 600 ${FABRIC_CA_DATA}/${TLS_CLIENT_KEY}
    57  
    58  # Avoid ERROR:
    59  #   invoke-rc.d: policy-rc.d denied execution of start.
    60  RUN echo "#!/bin/sh\nexit 0" > /usr/sbin/policy-rc.d
    61  
    62  RUN ${FABRIC_CA_DATA}/system_update.sh
    63  RUN ${FABRIC_CA_DATA}/postgres_setup.sh
    64  RUN ${FABRIC_CA_DATA}/slapd_setup.sh
    65  RUN ${FABRIC_CA_DATA}/mysql_setup.sh
    66  
    67  COPY --from=fabric-ca-builder /usr/local/go /usr/local
    68  COPY --from=fabric-ca-builder /usr/local/bin /usr/local/bin
    69  
    70  WORKDIR /build/fabric-ca
    71  RUN cp ${FABRIC_CA_DATA}/start.sh /
    72  ENTRYPOINT [ "/start.sh" ]
    73  CMD ["scripts/run_fvt_tests"]