Corda:在Docker上部署节点并且无法访问它

时间:2019-07-24 14:35:50

标签: corda

我正在尝试通过以下命令使用官方docker映像部署节点

docker run -ti \ --memory=2048m \ --cpus=2 \ -v /Users/aliceguo/IdeaProjects/car-cordapp/build/nodes/PartyC/config:/etc/corda \ -v /Users/aliceguo/IdeaProjects/car-cordapp/build/nodes/PartyC/certificates:/opt/corda/certificates \ -v /Users/aliceguo/IdeaProjects/car-cordapp/build/nodes/PartyC/persistence:/opt/corda/persistence \ -v /Users/aliceguo/IdeaProjects/car-cordapp/build/nodes/PartyC/logs:/opt/corda/logs \ -v /Users/aliceguo/IdeaProjects/car-cordapp/build/nodes/PartyC/cordapps:/opt/corda/cordapps \ -v /Users/aliceguo/IdeaProjects/car-cordapp/build/nodes/PartyC/additional-node-infos:/opt/corda/additional-node-infos \ -v /Users/aliceguo/IdeaProjects/car-cordapp/build/nodes/PartyC/network-parameters:/opt/corda/network-parameters \ -p 10011:10011 \ -p 10012:10012 \ corda/corda-corretto-5.0-snapshot

该节点似乎已成功启动,但是我无法从笔记本电脑通过rpc连接到该节点(docker容器也在笔记本电脑上)。我将在下面附上一些日志和屏幕截图。任何帮助将不胜感激!

节点日志:

[INFO ] 2019-07-19T03:21:23,163Z [main] cliutils.CordaCliWrapper.call - Application Args: --base-directory /opt/corda --config-file /etc/corda/node.conf
[INFO ] 2019-07-19T03:21:24,146Z [main] manifests.Manifests.info - 115 attributes loaded from 152 stream(s) in 61ms, 115 saved, 2353 ignored: ["ActiveMQ-Version", "Agent-Class", "Ant-Version", "Application-Class", "Application-ID", "Application-Library-Allowable-Codebase", "Application-Name", "Application-Version", "Archiver-Version", "Automatic-Module-Name", "Bnd-LastModified", "Branch", "Build-Date", "Build-Host", "Build-Id", "Build-Java-Version", "Build-Jdk", "Build-Job", "Build-Number", "Build-Timestamp", "Built-By", "Built-OS", "Built-Status", "Bundle-Activator", "Bundle-Category", "Bundle-ClassPath", "Bundle-Copyright", "Bundle-Description", "Bundle-DocURL", "Bundle-License", "Bundle-ManifestVersion", "Bundle-Name", "Bundle-NativeCode", "Bundle-RequiredExecutionEnvironment", "Bundle-SymbolicName", "Bundle-Vendor", "Bundle-Version", "Caller-Allowable-Codebase", "Can-Redefine-Classes", "Can-Retransform-Classes", "Can-Set-Native-Method-Prefix", "Caplets", "Change", "Class-Path", "Codebase", "Corda-Platform-Version", "Corda-Release-Version", "Corda-Revision", "Corda-Vendor", "Created-By", "DynamicImport-Package", "Eclipse-BuddyPolicy", "Eclipse-LazyStart", "Export-Package", "Extension-Name", "Fragment-Host", "Gradle-Version", "Hibernate-JpaVersion", "Hibernate-VersionFamily", "Implementation-Build", "Implementation-Build-Date", "Implementation-Title", "Implementation-URL", "Implementation-Url", "Implementation-Vendor", "Implementation-Vendor-Id", "Implementation-Version", "Import-Package", "Include-Resource", "JCabi-Build", "JCabi-Date", "JCabi-Version", "JVM-Args", "Java-Agents", "Java-Vendor", "Java-Version", "Kotlin-Runtime-Component", "Kotlin-Version", "Liquibase-Package", "Log4jReleaseKey", "Log4jReleaseManager", "Log4jReleaseVersion", "Main-Class", "Main-class", "Manifest-Version", "Min-Java-Version", "Min-Update-Version", "Module-Email", "Module-Origin", "Module-Owner", "Module-Source", "Multi-Release", "Originally-Created-By", "Os-Arch", "Os-Name", "Os-Version", "Permissions", "Premain-Class", "Private-Package", "Provide-Capability", "Require-Capability", "SCM-Revision", "SCM-url", "Scm-Connection", "Scm-Revision", "Scm-Url", "Service-Component", "Specification-Title", "Specification-Vendor", "Specification-Version", "System-Properties", "Tool", "Trusted-Library", "X-Compile-Source-JDK", "X-Compile-Target-JDK"]
[INFO ] 2019-07-19T03:21:24,188Z [main] BasicInfo.printBasicNodeInfo - Logs can be found in                    : /opt/corda/logs
[INFO ] 2019-07-19T03:21:25,096Z [main] subcommands.ValidateConfigurationCli.logRawConfig$node - Actual configuration:
{
    "additionalNodeInfoPollingFrequencyMsec" : 5000,
    "additionalP2PAddresses" : [],
    "attachmentCacheBound" : 1024,
    "baseDirectory" : "/opt/corda",
    "certificateChainCheckPolicies" : [],
    "cordappSignerKeyFingerprintBlacklist" : [
        "56CA54E803CB87C8472EBD3FBC6A2F1876E814CEEBF74860BD46997F40729367",
        "83088052AF16700457AE2C978A7D8AC38DD6A7C713539D00B897CD03A5E5D31D",
        "6F6696296C3F58B55FB6CA865A025A3A6CC27AD17C4AFABA1E8EF062E0A82739"
    ],
    "crlCheckSoftFail" : true,
    "dataSourceProperties" : "*****",
    "database" : {
        "exportHibernateJMXStatistics" : false,
        "initialiseAppSchema" : "UPDATE",
        "initialiseSchema" : true,
        "mappedSchemaCacheSize" : 100,
        "transactionIsolationLevel" : "REPEATABLE_READ"
    },
    "detectPublicIp" : false,
    "devMode" : true,
    "emailAddress" : "admin@company.com",
    "extraNetworkMapKeys" : [],
    "flowMonitorPeriodMillis" : {
        "nanos" : 0,
        "seconds" : 60
    },
    "flowMonitorSuspensionLoggingThresholdMillis" : {
        "nanos" : 0,
        "seconds" : 60
    },
    "flowTimeout" : {
        "backoffBase" : 1.8,
        "maxRestartCount" : 6,
        "timeout" : {
            "nanos" : 0,
            "seconds" : 30
        }
    },
    "jarDirs" : [],
    "jmxReporterType" : "JOLOKIA",
    "keyStorePassword" : "*****",
    "lazyBridgeStart" : true,
    "myLegalName" : "O=PartyC,L=New York,C=US",
    "noLocalShell" : false,
    "p2pAddress" : "localhost:10011",
    "rpcSettings" : {
        "address" : "localhost:10012",
        "adminAddress" : "localhost:10052",
        "standAloneBroker" : false,
        "useSsl" : false
    },
    "rpcUsers" : [],
    "security" : {
        "authService" : {
            "dataSource" : {
                "passwordEncryption" : "NONE",
                "type" : "INMEMORY",
                "users" : [
                    {
                        "ignoresFallbacks" : false,
                        "resolved" : true,
                        "value" : {
                            "loadFactor" : 0.75,
                            "modCount" : 3,
                            "size" : 3,
                            "table" : {},
                            "threshold" : 3
                        }
                    }
                ]
            }
        }
    },
    "trustStorePassword" : "*****",
    "useTestClock" : false,
    "verifierType" : "InMemory"
}
[INFO ] 2019-07-19T03:21:25,119Z [main] internal.Node.logStartupInfo - Vendor: Corda Open Source
[INFO ] 2019-07-19T03:21:25,119Z [main] internal.Node.logStartupInfo - Release: 5.0-SNAPSHOT
[INFO ] 2019-07-19T03:21:25,119Z [main] internal.Node.logStartupInfo - Platform Version: 5
[INFO ] 2019-07-19T03:21:25,119Z [main] internal.Node.logStartupInfo - Revision: df19b444ddd32d3afd10ed0b76c1b2f68d985968
[INFO ] 2019-07-19T03:21:25,119Z [main] internal.Node.logStartupInfo - PID: 19
[INFO ] 2019-07-19T03:21:25,120Z [main] internal.Node.logStartupInfo - Main class: /opt/corda/.capsule/apps/net.corda.node.Corda_5.0-SNAPSHOT/corda-node-5.0-SNAPSHOT.jar
[INFO ] 2019-07-19T03:21:25,120Z [main] internal.Node.logStartupInfo - CommandLine Args: -Xmx512m -XX:+UseG1GC -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap -javaagent:/opt/corda/.capsule/apps/net.corda.node.Corda_5.0-SNAPSHOT/quasar-core-0.7.10-jdk8.jar=x(antlr**;bftsmart**;co.paralleluniverse**;com.codahale**;com.esotericsoftware**;com.fasterxml**;com.google**;com.ibm**;com.intellij**;com.jcabi**;com.nhaarman**;com.opengamma**;com.typesafe**;com.zaxxer**;de.javakaffee**;groovy**;groovyjarjarantlr**;groovyjarjarasm**;io.atomix**;io.github**;io.netty**;jdk**;junit**;kotlin**;net.bytebuddy**;net.i2p**;org.apache**;org.assertj**;org.bouncycastle**;org.codehaus**;org.crsh**;org.dom4j**;org.fusesource**;org.h2**;org.hamcrest**;org.hibernate**;org.jboss**;org.jcp**;org.joda**;org.junit**;org.mockito**;org.objectweb**;org.objenesis**;org.slf4j**;org.w3c**;org.xml**;org.yaml**;reflectasm**;rx**;org.jolokia**;com.lmax**;picocli**;liquibase**;com.github.benmanes**;org.json**;org.postgresql**;nonapi.io.github.classgraph**) -Dcorda.dataSourceProperties.dataSource.url=jdbc:h2:file:/opt/corda/persistence/persistence;DB_CLOSE_ON_EXIT=FALSE;WRITE_DELAY=0;LOCK_TIMEOUT=10000 -Dvisualvm.display.name=Corda -Djava.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib:/opt/corda/.capsule/apps/net.corda.node.Corda_5.0-SNAPSHOT -Dcapsule.app=net.corda.node.Corda_5.0-SNAPSHOT -Dcapsule.dir=/opt/corda/.capsule/apps/net.corda.node.Corda_5.0-SNAPSHOT -Dcapsule.jar=/opt/corda/bin/corda.jar -Djava.security.egd=file:/dev/./urandom
[INFO ] 2019-07-19T03:21:25,120Z [main] internal.Node.logStartupInfo - bootclasspath: /usr/lib/jvm/java-1.8.0-amazon-corretto.x86_64/jre/lib/resources.jar:/usr/lib/jvm/java-1.8.0-amazon-corretto.x86_64/jre/lib/rt.jar:/usr/lib/jvm/java-1.8.0-amazon-corretto.x86_64/jre/lib/sunrsasign.jar:/usr/lib/jvm/java-1.8.0-amazon-corretto.x86_64/jre/lib/jsse.jar:/usr/lib/jvm/java-1.8.0-amazon-corretto.x86_64/jre/lib/jce.jar:/usr/lib/jvm/java-1.8.0-amazon-corretto.x86_64/jre/lib/charsets.jar:/usr/lib/jvm/java-1.8.0-amazon-corretto.x86_64/jre/lib/jfr.jar:/usr/lib/jvm/java-1.8.0-amazon-corretto.x86_64/jre/classes
[INFO ] 2019-07-19T03:21:25,120Z [main] internal.Node.logStartupInfo - classpath: /opt/corda/bin/corda.jar:/opt/corda/.capsule/apps/net.corda.node.Corda_5.0-SNAPSHOT/corda-shell-5.0-SNAPSHOT.jar:/opt/corda/.capsule/apps/net.corda.node.Corda_5.0-SNAPSHOT/corda-rpc-5.0-SNAPSHOT.jar:/opt/corda/.capsule/apps/net.corda.node.Corda_5.0-SNAPSHOT/corda-node-api-5.0-SNAPSHOT.jar:/opt/corda/.capsule/apps/net.corda.node.Corda_5.0-SNAPSHOT/corda-tools-cliutils-5.0-SNAPSHOT.jar:/opt/corda/.capsule/apps/net.corda.node.Corda_5.0-SNAPSHOT/corda-common-configuration-parsing-5.0-SNAPSHOT.jar:/opt/corda/.capsule/apps/net.corda.node.Corda_5.0-SNAPSHOT/corda-common-validation-5.0-SNAPSHOT.jar:/opt/corda/.capsule/apps/net.corda.node.Corda_5.0-SNAPSHOT/corda-common-logging-5.0-SNAPSHOT.jar:/opt/corda/.capsule/apps/net.corda.node.Corda_5.0-SNAPSHOT/corda-confidential-identities-5.0-SNAPSHOT.jar:/opt/corda/.capsule/apps/net.corda.node.Corda_5.0-SNAPSHOT/log4j-slf4j-impl-2.9.1.jar:/opt/corda/.capsule/apps/net.corda.node.Corda_5.0-SNAPSHOT/log4j-web-2.9.1.jar:/opt/corda/.capsule/apps/net.corda.node.Corda_5.0-SNAPSHOT/jul-to-slf4j-1.7.25.jar:/opt/corda/.capsule/apps/net.corda.node.Corda_5.0-SNAPSHOT/corda-jackson-5.0-SNAPSHOT.jar:/opt/corda/.capsule/apps/net.corda.node.Corda_5.0-SNAPSHOT/corda-serialization-5.0-SNAPSHOT.jar:/opt/corda/.capsule/apps/net.corda.node.Corda_5.0-SNAPSHOT/corda-core-5.0-SNAPSHOT.jar:/opt/corda/.capsule/apps/net.corda.node.Corda_5.0-SNAPSHOT/kotlin-stdlib-jdk8-1.2.71.jar:/opt/corda/.capsule/apps/net.corda.node.Corda_5.0-SNAPSHOT/jackson-module-kotlin-2.9.5.jar:/opt/corda/.capsule/apps/net.corda.node.Corda_5.0-SNAPSHOT/kotlin-reflect-1.2.71.jar:/opt/corda/.capsule/apps/net.corda.node.Corda_5.0-SNAPSHOT/quasar-core-0.7.10-jdk8.jar:/opt/corda/.capsule/apps/net.corda.node.Corda_5.0-SNAPSHOT/kryo-serializers-0.42.jar:/opt/corda/.capsule/apps/net.corda.node.Corda_5.0-SNAPSHOT/kryo-4.0.0.jar:/opt/corda/.capsule/apps/net.corda.node.Corda_5.0-SNAPSHOT/jimfs-1.1.jar:/opt/corda/.capsule/apps/net.corda.node.Corda_5.0-SNAPSHOT/metrics-new-relic-1.1.1.jar:/opt/corda/.capsule/apps/net.corda.node.Corda_5.0-SNAPSHOT/guava-25.1-jre.jar:/opt/corda/.capsule/apps/net.corda.node.Corda_5.0-SNAPSHOT/caffeine-2.6.2.jar:/opt/corda/.capsule/apps/net.corda.node.Corda_5.0-SNAPSHOT/disruptor-3.4.2.jar:/opt/corda/.capsule/apps/net.corda.node.Corda_5.0-SNAPSHOT/commons-collections4-4.1.jar:/opt/corda/.capsule/apps/net.corda.node.Corda_5.0-SNAPSHOT/artemis-amqp-protocol-2.6.2.jar:/opt/corda/.capsule/apps/net.corda.node.Corda_5.0-SNAPSHOT/artemis-server-2.6.2.jar:/opt/corda/.capsule/apps/net.corda.node.Corda_5.0-SNAPSHOT/artemis-jdbc-store-2.6.2.jar:/opt/corda/.capsule/apps/net.corda.node.Corda_5.0-SNAPSHOT/artemis-journal-2.6.2.jar:/opt/corda/.capsule/apps/net.corda.node.Corda_5.0-SNAPSHOT/art...

1 个答案:

答案 0 :(得分:0)

为了解决此问题,您需要将端口绑定到0.0.0.0:xxxx而不是node.conf中的localhost:xxxx

"p2pAddress" : "localhost:10011",
    "rpcSettings" : {
        "address" : "localhost:10012",
        "adminAddress" : "localhost:10052",
        "standAloneBroker" : false,
        "useSsl" : false
    },