首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >docker中的Corda

docker中的Corda
EN

Stack Overflow用户
提问于 2019-02-04 18:40:01
回答 1查看 659关注 0票数 1

在docker中运行corda节点时,我得到一个ActiveMQ错误:

代码语言:javascript
复制
Pulling node ... done
Recreating node_1 ... done
Attaching to node_1
node_1  |
node_1  |    ______               __
node_1  |   / ____/     _________/ /___ _
node_1  |  / /     __  / ___/ __  / __ `/         There are two rules for financial success:
node_1  | / /___  /_/ / /  / /_/ / /_/ /          1) Don't tell everything you know.
node_1  | \____/     /_/   \__,_/\__,_/
node_1  |
node_1  | --- Corda Open Source 3.3-corda (c834162) -----------------------------------------------
node_1  |
node_1  |
node_1  | Logs can be found in                    : /opt/corda/logs
node_1  | Database connection url is              : jdbc:h2:tcp://172.23.0.2:35117/node
node_1  | Advertised P2P messaging addresses      : 0.0.0.0:10002
node_1  | RPC connection address                  : 0.0.0.0:10003
node_1  | RPC admin connection address            : 0.0.0.0:10004
node_1  | [ERROR] 10:35:37+0000 [main] internal.Node.run - Exception during node startup
node_1  |  org.apache.activemq.artemis.api.core.ActiveMQNotConnectedException: AMQ119007: Cannot connect to server(s). Tried with all available servers.
node_1  |       at org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.createSessionFactory(ServerLocatorImpl.java:787) ~[artemis-core-client-2.2.0.jar:2.2.0]
node_1  |       at net.corda.nodeapi.internal.ArtemisMessagingClient.start(ArtemisMessagingClient.kt:39) ~[corda-node-api-3.3-corda.jar:?]
node_1  |       at net.corda.node.services.messaging.RPCMessagingClient.start(RPCMessagingClient.kt:19) ~[corda-node-3.3-corda.jar:?]
node_1  |       at net.corda.node.internal.Node.startMessagingService(Node.kt:308) ~[corda-node-3.3-corda.jar:?]
node_1  |       at net.corda.node.internal.AbstractNode$start$4.invoke(AbstractNode.kt:256) ~[corda-node-3.3-corda.jar:?]
node_1  |       at net.corda.node.internal.AbstractNode$start$4.invoke(AbstractNode.kt:105) ~[corda-node-3.3-corda.jar:?]
node_1  |       at net.corda.node.internal.AbstractNode$initialiseDatabasePersistence$2.invoke(AbstractNode.kt:700) ~[corda-node-3.3-corda.jar:?]
node_1  |       at net.corda.node.internal.AbstractNode$initialiseDatabasePersistence$2.invoke(AbstractNode.kt:105) ~[corda-node-3.3-corda.jar:?]
node_1  |       at net.corda.nodeapi.internal.persistence.CordaPersistence.inTopLevelTransaction(CordaPersistence.kt:152) ~[corda-node-api-3.3-corda.jar:?]
node_1  |       at net.corda.nodeapi.internal.persistence.CordaPersistence.transaction(CordaPersistence.kt:138) ~[corda-node-api-3.3-corda.jar:?]
node_1  |       at net.corda.nodeapi.internal.persistence.CordaPersistence.transaction(CordaPersistence.kt:124) ~[corda-node-api-3.3-corda.jar:?]
node_1  |       at net.corda.nodeapi.internal.persistence.CordaPersistence.transaction(CordaPersistence.kt:131) ~[corda-node-api-3.3-corda.jar:?]
node_1  |       at net.corda.node.internal.AbstractNode.initialiseDatabasePersistence(AbstractNode.kt:699) ~[corda-node-3.3-corda.jar:?]
node_1  |       at net.corda.node.internal.Node.initialiseDatabasePersistence(Node.kt:347) ~[corda-node-3.3-corda.jar:?]
node_1  |       at net.corda.node.internal.AbstractNode.start(AbstractNode.kt:207) ~[corda-node-3.3-corda.jar:?]
node_1  |       at net.corda.node.internal.Node.start(Node.kt:361) ~[corda-node-3.3-corda.jar:?]
node_1  |       at net.corda.node.internal.NodeStartup.startNode(NodeStartup.kt:203) ~[corda-node-3.3-corda.jar:?]
node_1  |       at net.corda.node.internal.NodeStartup.run(NodeStartup.kt:126) [corda-node-3.3-corda.jar:?]
node_1  |       at net.corda.node.Corda.main(Corda.kt:13) [corda-node-3.3-corda.jar:?]
node_1 exited with code 1

节点在docker之外的本地计算机上运行良好。有没有人能告诉我为什么会发生这个错误?

一个存储库包含corda节点文件和此Dockerfile:

代码语言:javascript
复制
FROM openjdk:8-jre

RUN mkdir -p /opt/corda/
COPY corda.jar /opt/corda/
COPY corda-webserver.jar /opt/corda/

RUN chmod +x /opt/corda/*.jar

EXPOSE 8080
EXPOSE 10002
EXPOSE 10003
EXPOSE 10004

WORKDIR /opt/corda/

CMD ["java", "-Xmx512m", "-jar", "corda.jar"]

其他存储库包含特定于节点的配置文件和docker-compose.yml

代码语言:javascript
复制
version: '2.1'
services:
  node:
    image: private/repository/with/above/docker:latest
    ports:
      - "8080:8080"
      - "10002:10002"
      - "10003:10003"
      - "10004:10004"
    volumes:
      - ./config/certificates/:/opt/corda/certificates/
      - ./config/node.conf:/opt/corda/node.conf
      - ./logs/:/opt/corda/logs/
      - ~/cordapps/:/opt/corda/cordapps/

从node.conf发挥作用

代码语言:javascript
复制
"p2pAddress" : "0.0.0.0:10002",
"rpcSettings" : {
    "address" : "0.0.0.0:10003",
    "adminAddress" : "0.0.0.0:10004"
},

节点已经启动并在没有docker的情况下运行,但我们真的更喜欢在docker容器中运行它们。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-08 16:01:30

当我尝试停靠我的corda节点(v3.3)时,我得到了相同的错误。在尝试了不同的排列后,似乎导致错误的是adminAddress。尝试将RPC管理连接的主机设置为'localhost',这对我来说是可行的。

代码语言:javascript
复制
"p2pAddress" : "PartyA:10002",
"rpcSettings" : {
    "address" : "0.0.0.0:10003",
    "adminAddress": "localhost:10004"
},

'PartyA‘是我的docker-compose文件中的container_name。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54514417

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档