Wpis z mikrobloga

Może ktoś ma wiedzę jak to ugryźć. Mam aplikację w Dockerze, która nadaje na konkretnym porcie. Muszę odpalić jeszcze z 2 instancje, ale nie mogą na tym samym porcie działać xD A na innym nie mogą. Zastanawiam się jak to można ugryźć. Oczywiście najlepiej mieć oddzielne Ip, a jeszcze lepiej - oddzielny serwer. Nie można mieć jednak wszystkiego ... Chyba :P

Czy coś można zrobić oprócz kupowania IPków?

#linux
  • 10
@pilot1123 @Szala: Dlatego, że inni klienci łączą się na konkretnym porcie, który musi być otwarty. To trochę tak (ale tylko trochę) jakbyś stronę mógł mieć na porcie 80 i żadnym innym, a nie ma vhostów i innych rzeczy, więc chyba IPki zostają. Tutaj też jest predefiniowany port :/ Chociaż spróbuję się dowiedzieć.

@Rare_Soul Ale to chyba tylko do stron internetowych, a nie aplikacji.

@ptasiek2 w sumie nie wiem jak vlan może
@fervi: czyli w sumie docker nie ma tu nic do rzeczy, a problem polega na tym, że chcesz na jednym zestawie ip + port uruchomić 3 różne aplikacje?
@fervi: Ja kiedyś robiłem tak, że losowałem porty dla aplikacji i druga strona dostawała ten port po systemie plików.
Powinno dać radę liczyć kontenery po nazwie obrazu a wynik używać jako ostatnią liczbę portu. To też kiedyś udało mi się jakoś łatwo ogarnąć.
Jakby co to pisz c:
@fervi: też losowałem, coś w stylu (z głowy, bo nie chce mi się szukać ;)

if $(netstat -l | grep 1234 | wc -l); then
$port=$(python3 -m random "print(random.randint(0, 10**5)")
while [ $(netstat -l | grep $port | wc -l) -gt 0 ]; do
$port=$(python3 -m random "print(random.randint(0, 10**5)")
done
fi

a potem w dokerze --publish $port:1234