Вы довольно близки.
Сначала убедитесь, что вы запустили ./gradlew deployNodes
, чтобы структура папок узла и файлы были сгенерированы
Следующее задание dockerform в вашей сборке.gradle должен выглядеть примерно так:
task prepareDockerNodes(type: net.corda.plugins.Dockerform, dependsOn: ['jar']) {
nodeDefaults {
cordapp project(":contracts-java")
}
node {
name "O=Notary,L=London,C=GB"
notary = [validating : false]
p2pPort 10002
rpcSettings {
address("localhost:10003")
adminAddress("localhost:10023")
}
projectCordapp {
deploy = false
}
cordapps.clear()
}
node {
name "O=PartyA,L=London,C=GB"
p2pPort 10002
rpcSettings {
address("localhost:10003")
adminAddress("localhost:10023")
}
rpcUsers = [[user: "user1", "password": "test", "permissions": ["ALL"]]]
}
node {
name "O=PartyB,L=New York,C=US"
p2pPort 10002
rpcSettings {
address("localhost:10003")
adminAddress("localhost:10023")
}
rpcUsers = [[user: "user1", "password": "test", "permissions": ["ALL"]]]
}
}
После завершения deployNodes создайте пустой файл docker-compose.yml, чтобы обойти полученную ошибку: touch workflows-java/build/nodes/docker-compose.yml
Затем выможет работать ./gradlew prepareDockerNodes
.Как только это будет сделано, отредактируйте сгенерированный файл docker-compose.yml, чтобы изменить порты:
version: '3'
services:
notary:
build: /Users/chrischabot/Projects/json-cordapp/workflows-java/build/nodes/Notary
ports:
- "10002"
- "10003"
partya:
build: /Users/chrischabot/Projects/json-cordapp/workflows-java/build/nodes/PartyA
ports:
- "10002"
- "10003"
partyb:
build: /Users/chrischabot/Projects/json-cordapp/workflows-java/build/nodes/PartyB
ports:
- "10002"
- "10003"
И у вас снова должна быть рабочая ситуация