SemenMartynov / Software-Engineering-2022

Peter the Great St. Petersburg Polytechnic University: Software Engineering course 2022
MIT License
4 stars 1 forks source link

Minichain #279

Closed Thandriss closed 1 year ago

Thandriss commented 1 year ago

Student, group: 3530901/90202 URL: https://github.com/Thandriss/Minichain Any comments: Kotlin, Ktor

SemenMartynov commented 1 year ago

Пути

smart@thinkpad$ docker-compose --verbose up
[+] Running 6/0
 ✔ Container server1                                                  Created                                                                                                                                                            0.1s 
 ✔ Container server3                                                  Created                                                                                                                                                            0.1s 
 ✔ Container server2                                                  Created                                                                                                                                                            0.1s 
 ! server3 Published ports are discarded when using host network mode                                                                                                                                                                    0.0s 
 ! server2 Published ports are discarded when using host network mode                                                                                                                                                                    0.0s 
 ! server1 Published ports are discarded when using host network mode                                                                                                                                                                    0.0s 
Attaching to server1, server2, server3
server1  | Error: Unable to access jarfile /minichain/build/libs/Minichain-0.0.1.jar
server3  | Error: Unable to access jarfile /minichain/build/libs/Minichain-0.0.1.jar
server2  | Error: Unable to access jarfile /minichain/build/libs/Minichain-0.0.1.jar
server1 exited with code 1
server3 exited with code 1
server2 exited with code 1

-p 8080 -n 127.0.0.1:8081 -d a.db -f -- все параметры лучше передавать как переменные окружения

network_mode: host -- режим хоста тут не нужен, можно хендлить коннекты через доменные имена нод. Тогда можно будет сразу мапить все коннекты на порт 8080 и не добавлять +1 каждый раз.

Thandriss commented 1 year ago

Внесены исправления

SemenMartynov commented 1 year ago

-p 8080 -n 127.0.0.1:8081 -d a.db -f осталось на месте

network_mode: host осталось на месте

smart@thinkpad$ docker compose --verbose up
[+] Running 4/4
 ✔ Network minichain_default  Created                                                                                                                                                                                                    0.0s 
 ✔ Container server3          Created                                                                                                                                                                                                    0.1s 
 ✔ Container server1          Created                                                                                                                                                                                                    0.2s 
 ✔ Container server2          Created                                                                                                                                                                                                    0.2s 
Attaching to server1, server2, server3
server2  | Exception in thread "main" java.lang.IllegalArgumentException: Wrong address!
server2  |  at ya.makhonko.ApplicationKt.cmdParser(Application.kt:49)
server2  |  at ya.makhonko.ApplicationKt.main(Application.kt:17)
server3  | Exception in thread "main" java.lang.IllegalArgumentException: Wrong address!
server3  |  at ya.makhonko.ApplicationKt.cmdParser(Application.kt:49)
server3  |  at ya.makhonko.ApplicationKt.main(Application.kt:17)
server1  | Exception in thread "main" java.lang.IllegalArgumentException: Wrong address!
server1  |  at ya.makhonko.ApplicationKt.cmdParser(Application.kt:49)
server1  |  at ya.makhonko.ApplicationKt.main(Application.kt:17)
server2 exited with code 1
server1 exited with code 1
server3 exited with code 1
Thandriss commented 1 year ago

Исправила ещё, но я не понимаю откуда Вы берёте '-p 8080 -n 127.0.0.1:8081 -d a.db -f' эту строчку, потому что часть с '-d a.db' я убрала. Уберите её, пожалуйста, потому что, возможно, будет падать и из-за этого.

SemenMartynov commented 1 year ago

откуда

Из предыдущего компоуза, который был в мэйне на момент проверки. Это правильный подход -- сейчас каждая нода живёт в своём контейнере. Разносить по портам не обязательно, у каждого контейнера свой IP адрес.

Там тесты зафейлились...

SemenMartynov commented 1 year ago

А возможность запуска так как указано в ридми (java -jar Minichain-ver.jar -p 8082 -n 127.0.0.1:8080,127.0.0.1:8081 -f) не утрачена? Обычно, чтоб разруливать такие ситуации, в докер кладут какой-нибудь entrypoint.sh, который парсит/валидирует переменные окружения, и потом уже передаёт их как параметры исполняемому файлу.

SemenMartynov commented 1 year ago

Всё ок, но нужно тесты поправить.