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"]