Доступ к оболочке узла Corda через SSH при локальном запуске Docker - PullRequest
0 голосов
/ 04 июня 2019

Я настроил узлы (partya, partyb, partyc, нотариус) из "samples / cordapp-example" с помощью docker-compose (Dockerform).Все они запускают corda.jar (в своих контейнерах).Кажется, есть проблема с ssh-связью: я постоянно получаю сообщения об ошибках "соединение отказано".Документация / код кажется устаревшим.

errors

1 Ответ

0 голосов
/ 04 июня 2019

Похоже, что задача Dockerform не распознает параметр node.conf, который разрешает доступ по SSH (и документы кажутся немного неполными по теме). Несколько шагов, чтобы обойти это:

  1. Убедитесь, что каждый узел (включая нотариуса), определенный в Dockerform -типе deployNodes, имеет запись для p2pAddress (вместо p2pPort), которая выглядит следующим образом: "name-of -docker-container: port-number "(где name-of-docker-container - это имя в нижнем регистре для каждой папки узла; например, partya:10004). Выполнить deployNodes.

  2. Отредактируйте файл 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
  1. Измените последнюю строку файлов 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)

  2. Пробег docker-compose up --build -d

  3. Выполнить ssh localhost -p <insert-here-host-port-number> -l user1 (где указан номер порта, который вы определили на шаге №2 для разрешения доступа по ssh).

...