我使用docker-compose(Dockerform)从“ samples / cordapp-example”中设置了节点(partya,partyb,partyc,公证人)。它们都在其容器中运行corda.jar。 ssh通讯似乎有一个问题:我不断收到“连接被拒绝”错误。文档/代码似乎已过时。
答案 0 :(得分:0)
似乎Dockerform
任务无法识别the node.conf
option that enables SSH access(而且文档似乎还不完整)。解决此问题的一些步骤:
确保在Dockerform
类型deployNodes
中定义的每个节点(包括公证人)都具有p2pAddress
(而不是p2pPort
)的条目,看起来像这样:“ docker-container名称:端口号”(其中docker-container名称是每个节点文件夹的小写名称;例如partya:10004
)。运行deployNodes
。
编辑docker-compose.yml
生成的deployNodes
文件,以便每个服务都公开一些其他端口(用于允许p2p通信和ssh访问节点外壳)并将它们全部绑定到主机机器-例如
version: '3'
services:
notary:
build: /Users/user/myapp/build/nodes/Notary
ports:
- 10003:10003
- 8051:8051 # add port here
- 9051:9051 # add port here
- 2222:2222 # add port here
partya:
build: /Users/user/myapp/build/nodes/PartyA
ports:
- 10004:10004 # edit port
- 8052:8052 # add port here
- 9052:9052 # add port here
- 2223:2223 # add port here
# keep on doing this for additional nodes
修改run-corda.sh
任务生成的deployNodes
文件的最后一行,使其显示为:java $JAVA_OPTIONS -jar ${CORDA_HOME}/corda.jar --sshd --sshd-port <insert-here-port-number> 2>&1
(其中<insert-here-port-number>
是新端口之一docker-compose.yml
文件中您在服务中公开的数字)
运行docker-compose up --build -d
运行ssh localhost -p <insert-here-host-port-number> -l user1
(在步骤2中定义的端口号允许ssh访问)。