Не могу запустить вторую ноду через Docker

Здравствуйте. Пытаюсь запустить вторую ноду через докер. Первая работает нормально. Вторая запускается но не видит сателиты.
2022-10-24T09:57:02.724Z WARN contact:service failed PingMe request to satellite {“Process”: “storagenode”, “Satellite ID”:…
Порты прописаны, но докер не открывает их. Куда копать?

root@NAS:/volume2/storj_1$ docker ps
ff887467c35b storjlabs/storagenode:latest “/entrypoint” 7 minutes ago Up 7 minutes 0.0.0.0:14003->14002/tcp, 0.0.0.0:28968->28967/tcp storagenode_1
89ca0f659df2 storjlabs/storagenode:latest “/entrypoint” 20 minutes ago Up 20 minutes 0.0.0.0:14002->14002/tcp, 0.0.0.0:28967->28967/tcp, 0.0.0.0:28967->28967/udp storagenode

root@NAS:/volume2/storj_1$ netstat |grep 28967
tcp 0 0 172.18.0.1:43911 172.18.0.2:28967 ESTABLISHED

root@NAS:/volume2/storj_1$ netstat |grep 28968
пусто

root@NAS:/volume2/storj_1$ route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default RT-AC68U 0.0.0.0 UG 0 0 0 ovs_eth0
169.254.136.0 0.0.0.0 255.255.248.0 U 0 0 0 tun1000
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
172.18.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker-28a27d7f
192.168.25.0 0.0.0.0 255.255.255.0 U 0 0 0 ovs_eth0

Похоже, что ваши порты настроены правильно. Вам нужно убедиться, что ваш новый сайт настроен с правильным адресом вещания.

(Извините, переведено с помощью Microsoft Translator)

В роутере порты окрыл?

Покажите, пожалуйста, вашу команду docker run для второго узла (личную информацию можете скрыть).

Да открыты. Ранее нода вторая работала, до того как винчестер рассыпался.

При первом пуске запускаю:
docker run --rm -e SETUP=“true” --mount type=bind,source=“/volume3/storj_1/identity”,destination=/app/identity --mount type=bind,source=“/volume3/storj_1/data”,destination=/app/config --name storagenode_1 storjlabs/storagenode:latest

При втором:
docker run -d --restart unless-stopped --stop-timeout 300
-p 28968:28967/tcp -p 28968:28967/udp
-p 14003:14002
-e WALLET=“0xXXXXXXXXXXXXXXXXXXXXXXXXXXXX”
-e EMAIL="XXX@gmail.com"
-e ADDRESS=“XXX.synology.me:28968
-e STORAGE=“3.4TB”
–mount type=bind,source=“/volume3/storj_1/identity”,destination=/app/identity
–mount type=bind,source=“/volume3/storj_1/data”,destination=/app/config
–name storagenode_1 storjlabs/storagenode:latest

PS. Ноды запускаются на NAS Synology. Я думаю проблема в самом докере. Не открывает порт.

Дашборд работает.

Покажите, пожалуйста, правила проброса портов 28968 TCP+UDP на вашем роутере.

На роутере:


На NASe:

Порты в докере:


Лог докера:

Проверьте, пожалуйста, вашу identity: Step 5. Create an Identity - Storj Node Operator Docs

root@NAS:/volume3/node2$ grep -c BEGIN ~/.local/share/storj/identity/node2/ca.cert
2

root@NAS:/volume3/node2$ grep -c BEGIN ~/.local/share/storj/identity/node2/identity.cert
3

Создал новые ключи, то же самое. (
Возможно, что мою вторую ноду дисквалифицировали, более не могу запустить новые?

Дисквалификация узла не влияет на установку нового, они совершенно независимые.
Это либо сетевая проблема, либо проблема настройки.
Скопируйте пожалуйста текст логов узла сюда между двумя строчками с тремя бактиками, например:

```
logs lines
```

вы проверяете identity не по тому же пути, который у вас включен в вашей docker run команде.

Попробуй в портах докера 28968 локальный на такой же контейнера 28968 может пойдёт…

нет, не пойдёт. Узел внутри контейнера слушает 28967.
Поэтому если пробрасывать 28968 на 28968, тогда в config.yaml узла надо поменять параметр

# public address to listen on
server.address: :28967

на

# public address to listen on
server.address: :28968

или добавить как аргумент после имени образа, например:

docker run .... storjlabs/storagenode:latest --server.address=:28968

@shaltay кстати, попробуйте. Вдруг в Synology сеть по умолчанию не bridge, а host (то есть все контейнеры биндятся прямо на хост и не являются изолированными).
В этом случае надо ещё поменять параметры:

# private address to listen on
server.private-address: 127.0.0.1:7778

на, например,

# private address to listen on
server.private-address: 127.0.0.1:7779

Так он в настройках пишет -e ADDRESS=“[XXX.synology.me:28968] может и пойдёт…

нет
роутер 28968 → IP Synology 28968
docker 28968 → 28967
узел по умолчанию слушает 28967, если вы сделаете
docker 28968 → 28968 без обновления конфигурации узла, то слушать его в контейнере будет некому.

Это принципиально где лежат файлы?

На ночь поставил делать новый ключ, удалил другие.
Но мне кажется, что первая нода гдето мешает остальным. До этого пробовал новую ноду на 28967 порте запуститься, не пошла.

Вопрос. В config.yaml, для второй ноды ничего менять не нужно?

Необходимо проверять по тому пути, который используется в вашей команде docker run.

обычно нет.

Я копирую файлы в папку ноды и в архив. Думаю разницы где лежат нет, главное что бы путь в конфиге был правильно написан.

Прочитав этот мануал, я пдумал что надо править config.yaml: https://support.storj.io/hc/en-us/articles/360042343052-Single-and-multi-node-Port-forwarding-setup