【问题标题】:Accessing Corda node shell via SSH when running Docker locally在本地运行 Docker 时通过 SSH 访问 Corda 节点 shell
【发布时间】:2019-10-20 03:24:03
【问题描述】:

我使用 docker-compose (Dockerform) 从“samples/cordapp-example”中设置节点(partya、partyb、partyc、notary)。他们都在运行corda.jar(在他们的容器中)。 ssh 通信似乎有问题:我经常收到错误“连接被拒绝”。文档/代码似乎已经过时了。

【问题讨论】:

  • 您好,欢迎来到 Stack Overflow!您可能希望阅读以下内容:stackoverflow.com/help/how-to-ask 您可能会发现这个问题更适合 SuperUser 站点。祝您寻找答案好运!
  • Corda 问题是关于 stackoverflow 的主题

标签: ssh docker-compose dockerfile corda


【解决方案1】:

似乎Dockerform 任务无法识别the node.conf option that enables SSH access(并且该主题的文档似乎有点不完整)。解决此问题的几个步骤:

  1. 确保在Dockerform-type deployNodes 中定义的每个节点(包括公证人)都有一个p2pAddress(而不是p2pPort)的条目,如下所示:“name-of -docker-container:port-number"(其中 name-of-docker-container 是每个节点文件夹的小写名称;例如 partya:10004)。运行deployNodes

  2. 编辑deployNodes 生成的docker-compose.yml 文件,以便每个服务公开一些额外的端口(用于允许p2p 通信并允许ssh 访问节点shell)并将它们全部绑定到主机 - 例如

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
  1. 修改由deployNodes 任务生成的run-corda.sh 文件的最后一行,使其显示为:java $JAVA_OPTIONS -jar ${CORDA_HOME}/corda.jar --sshd --sshd-port <insert-here-port-number> 2>&1(其中<insert-here-port-number> 是您在服务中公开的新端口号之一在docker-compose.yml 文件中)

  2. 运行docker-compose up --build -d

  3. 运行 ssh localhost -p <insert-here-host-port-number> -l user1(您在第 2 步中定义的允许 ssh 访问的端口号在哪里)。

【讨论】:

    猜你喜欢
    • 2021-01-03
    • 2020-09-24
    • 2019-11-16
    • 1970-01-01
    • 1970-01-01
    • 2021-12-20
    • 1970-01-01
    • 2014-04-02
    相关资源
    最近更新 更多