Похоже, что задача Dockerform
не распознает параметр node.conf
, который разрешает доступ по SSH (и документы кажутся немного неполными по теме). Несколько шагов, чтобы обойти это:
Убедитесь, что каждый узел (включая нотариуса), определенный в Dockerform
-типе deployNodes
, имеет запись для p2pAddress
(вместо p2pPort
), которая выглядит следующим образом: "name-of -docker-container: port-number "(где name-of-docker-container - это имя в нижнем регистре для каждой папки узла; например, partya:10004
). Выполнить deployNodes
.
Отредактируйте файл 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
Измените последнюю строку файлов 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
)
Пробег docker-compose up --build -d
Выполнить ssh localhost -p <insert-here-host-port-number> -l user1
(где указан номер порта, который вы определили на шаге №2 для разрешения доступа по ssh).