CA在fabric中的作用是:分配证书,实现身份认证,配普通的CA机构没什么区别(所以可以用其他CA机构颁发的证书,只要商量好就行) 

我的一段CA的conpose文件

 1 services:
 2   ca_fish:
 3     image: hyperledger/fabric-ca:latest 
 4     labels:
 5       service: hyperledger-fabric
 6     environment:
 7       - FABRIC_CA_HOME=/etc/hyperledger/fabric-ca-server  
 8       - FABRIC_CA_SERVER_CA_NAME=ca-fish
 9       - FABRIC_CA_SERVER_TLS_ENABLED=true
10       - FABRIC_CA_SERVER_PORT=7054
11       - FABRIC_CA_SERVER_OPERATIONS_LISTENADDRESS=0.0.0.0:17054
12     ports:
13       - "7054:7054"
14       - "17054:17054"
15     command: sh -c 'fabric-ca-server start -b admin:adminpw -d'
16     volumes:
17       - ../ca_conf/fish:/etc/hyperledger/fabric-ca-server
18     container_name: ca_fish
19     networks:
20       - test

第一行:略

2:用来统领之后的一段配置,表示后面这一段都是配置ca_fish这个节点的

3:表示使用的docker镜像

4-5:标签,网上说是设置构建镜像的标签,我不是很理解,先不乱说

6:表明下面这一段是配置环境,相当于在容器里面执行 export 命令

7:指定工作的家目录,由于在运行过程中会有文件产生,家目录一般就是这些文件的根,相当于是工作目录

8:指定CA的名字,后面注册身份是会用

9:开启TLS

10:服务端口

11:监听端口,不是很懂,因为后面没有用到这个端口

12-14:端口映射,注意前面是主机端口,后面是docker中的端口

"7788:3306"   #相当于是将容器内的3306端口映射到主机的7788上,可以利用ip:7788访问容器内的3306

15:在容器中要执行的命令,解释一下就是开启 ca server 其中用户名是admin,密码是adminpw

16:这个与前面的家目录相关,相当于是把外面的文件映射到docker内,这个目录在容器与主机之间是相通的,目的是将 ca 产生的文件直接显示在主机上。

18:表示这个容器启动后的名字

19-20:容器所在的网络,当不同的容器在同一个虚拟网络中时,相当于是在一个局域网中。

09-18 22:52