Creating a Docker Image with Utimaco Library and Utilities
-
Go to the path /root/go/src/github.com/hyperledger/fabric-ca.
-
Create one directory with name utimaco_utilities on path /root/go/src/github.com/hyperledger/fabric-ca and copy below files inside this directory.
|
›_ Console
|
# cp /etc/utimaco/cs_pkcs11_R3.cfg
/root/go/src/github.com/hyperledger/fabric-ca/utimaco_utilities/
# cp /opt/utimaco/lib/libcs_pkcs11_R3.so
/root/go/src/github.com/hyperledger/fabric-ca/utimaco_utilities/
# cp /opt/utimaco/bin/p11tool2 /root/go/src/github.com/hyperledger/fabricca/utimaco_utilities
# cp /opt/utimaco/bin/ADMIN.key
/root/go/src/github.com/hyperledger/fabric-ca/utimaco_utilities
# cp /opt/utimaco/bin/csadm /root/go/src/github.com/hyperledger/fabricca/utimaco_utilities
|
Copy library and configuration files
-
Verify that files are copied at /root/go/src/github.com/hyperledger/fabric-ca/utimaco_utilities.
|
›_ Console
|
# cd /root/go/src/github.com/hyperledger/fabric-ca/utimaco_utilities
root@Fabric-CA:~/go/src/github.com/hyperledger/fabricca/utimaco_utilities# ll
|
List files
-
Create a new file Dockerfile to build a Fabric image.
|
›_ Console
|
# cd /root/go/src/github.com/hyperledger/fabric-ca
# vim Dockerfile
|
-
Copy the following lines into the file (Dockerfile).
|
›_ Console
|
ARG GO_VER
ARG ALPINE_VER
FROM ubuntu:focal
ARG GO_LDFLAGS
ARG GO_TAGS
RUN apt-get update
RUN apt-get install -y curl gcc git musl-dev
RUN rm -rf /var/lib/apt/lists/* ENV GOLANG_VERSION 1.18.3
RUN curl -sSL
https://storage.googleapis.com/golang/go$GOLANG_VERSION.linux-amd64.tar.gz
| tar -v -C /usr/local -xz
ENV PATH /usr/local/go/bin:$PATH
RUN mkdir -p /go/src /go/bin && chmod -R 777 /go
ENV GOROOT /usr/local/go
ENV GOPATH /go
ENV PATH /go/bin:$PATH
RUN mkdir -p /etc/utimaco/
RUN mkdir -p /opt/utimaco/bin
RUN mkdir -p /opt/utimaco/lib
COPY /utimaco_utilities/cs_pkcs11_R3.cfg /etc/utimaco/
COPY /utimaco_utilities/libcs_pkcs11_R3.so /opt/utimaco/lib
COPY /utimaco_utilities/p11tool2 /opt/utimaco/bin
COPY /utimaco_utilities/ADMIN.key /opt/utimaco/bin
COPY /utimaco_utilities/csadm /opt/utimaco/bin
RUN chmod -R 550 /opt/utimaco
RUN chmod -R 600 /etc/utimaco
ADD . $GOPATH/src/github.com/hyperledger/fabric-ca
RUN go install -tags "${GO_TAGS}" -ldflags "${GO_LDFLAGS}" \ github.com/hyperledger/fabric-ca/cmd/fabric-ca-server \ && go install -tags "${GO_TAGS}" -ldflags "${GO_LDFLAGS}" \ github.com/hyperledger/fabric-ca/cmd/fabric-ca-client ENV FABRIC_CA_HOME /etc/hyperledger/fabric-ca-server
EXPOSE 7055
CMD fabric-ca-server start -b admin:adminpw
|