【问题标题】:Include RPCClient in Docker container在 Docker 容器中包含 RPCClient
【发布时间】:2020-03-17 08:02:55
【问题描述】:

我目前正在使用 Docker 在 Azure VMS 上部署节点。首先,我正在构建节点并使用 corda 网络引导程序进行引导:

java -jar corda-tools-network-bootstrapper-4.3.jar --dir .

这是我的 partA_node.conf

devMode=true
myLegalName="O=PartyA,L=London,C=GB"
p2pAddress="host.docker.internal:10004"
rpcSettings {
    address="localhost:10005"
    adminAddress="localhost:10006"
}
security {
    authService {
        dataSource {
            type=INMEMORY
            users=[
                {
                    password=test
                    permissions=[
                        ALL
                    ]
                    user=user1
                }
            ]
        }
    }
}
sshd {
    port = 10007
}

接下来我正在构建 Docker 映像:

docker-compose build

这是我的 Dockerfile:

FROM corda/corda-zulu-java1.8-4.3:latest
COPY ./PartyA /etc/corda
COPY ./PartyA/certificates /opt/corda/certificates
COPY ./PartyA/cordapps /opt/corda/cordapps
COPY ./PartyA/additional-node-infos /opt/corda/additional-node-infos
COPY ./PartyA/network-parameters /opt/corda/network-parameters
EXPOSE 10004 10005 10006 10007 

我可以毫无问题地构建 Docker 容器并部署节点。到目前为止一切顺利。

接下来我需要一个 RPC 客户端与节点通信以启动流程并查询保管库。通过本地开发,我可以很好地使用模板 RPC 客户端,但我不知道如何在 docker 映像中包含 RPC 客户端,因为没有我可以使用的 jar 文件。

【问题讨论】:

    标签: corda


    【解决方案1】:

    不确定您在本地使用的是哪个 RPC 客户端,但我经常发现 Standalone Shell 很有用。

    Shell Docs

    此外,您似乎可以直接通过 ssh 连接到端口 10007 的节点,因此您不一定需要客户端。当然,取决于您的用例。

    【讨论】:

      猜你喜欢
      • 2017-02-15
      • 2021-05-17
      • 2018-07-22
      • 2019-07-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-17
      • 1970-01-01
      相关资源
      最近更新 更多