github.com/hyperledger/fabric-ca@v2.0.0-alpha.0.20201120210307-7b4f34729db1+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 WORKDIR /build/fabric-ca 13 RUN go build -tags "${GO_TAGS}" -ldflags "${GO_LDFLAGS}" \ 14 -o /usr/local/bin/fabric-ca-server \ 15 github.com/hyperledger/fabric-ca/cmd/fabric-ca-server \ 16 && go build -tags "${GO_TAGS}" -ldflags "${GO_LDFLAGS}" \ 17 -o /usr/local/bin/fabric-ca-client \ 18 github.com/hyperledger/fabric-ca/cmd/fabric-ca-client; 19 20 FROM debian:buster-20190910-slim 21 ARG PG_VER 22 23 ENV PATH="/usr/local/go/bin/:${PATH}" \ 24 DEBIAN_FRONTEND="noninteractive" \ 25 GOPATH="/opt/gopath" \ 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 apt-get clean && apt-get update && apt-get install openssl -y 45 46 # setup scripts for slapd, postgres, mysql, and openssl 47 COPY ./images/fabric-ca-fvt/payload ${FABRIC_CA_DATA} 48 RUN chmod +x ${FABRIC_CA_DATA}/*sh 49 RUN cd ${FABRIC_CA_DATA} 50 RUN $FABRIC_CA_DATA/tls_pki.sh 51 RUN chmod 600 ${FABRIC_CA_DATA}/${TLS_SERVER_KEY} 52 RUN chmod 600 ${FABRIC_CA_DATA}/${TLS_CLIENT_KEY} 53 54 # Avoid ERROR: 55 # invoke-rc.d: policy-rc.d denied execution of start. 56 RUN echo "#!/bin/sh\nexit 0" > /usr/sbin/policy-rc.d 57 58 RUN ${FABRIC_CA_DATA}/system_update.sh 59 RUN ${FABRIC_CA_DATA}/postgres_setup.sh 60 RUN ${FABRIC_CA_DATA}/slapd_setup.sh 61 RUN ${FABRIC_CA_DATA}/mysql_setup.sh 62 63 COPY --from=fabric-ca-builder /usr/local/go /usr/local 64 65 # Install fabric-ca dependencies 66 RUN go get github.com/go-sql-driver/mysql 67 RUN go get github.com/lib/pq 68 69 # Add docker-built execs for (potentially) alternative architecture 70 COPY --from=fabric-ca-builder /usr/local/bin /usr/local/bin 71 72 WORKDIR ${GOPATH}/src/github.com/hyperledger/fabric-ca 73 RUN cp ${FABRIC_CA_DATA}/start.sh / 74 ENTRYPOINT [ "/start.sh" ] 75 CMD ["scripts/run_fvt_tests"]