radzio6 pisze: ↑czw mar 14, 2019 7:32 am
Czy ktoś się zspotkał z podobnym problemem, NAS to QNAP 251 z QTS QTS 4.3.6.0875 (2019/03/08), wersja Container Station: 1.9.3590 (2018/11/28).
Chciałbym aby kontenery były osiągalne w mojej podsieci 192.168.178.0/24 a nie chowane za NATem Qnapa (lxcbr0)...
Pytanie tylko po co Ci to?
To, że kontenery aplikacji znajdują się za NATem na mostku lxcbr0 nie jest wcale wadą. Kontenery komunikują się ze sobą po sieci, którą zarządza środowisko ContainerStation(docker) a nie Twój router. Twoje podejście do tematu jest błędne, bo zarządzanie tą komunikacją nie jest Ci wcale potrzebne. Każdy z kontenerów w ramach aplikacji wystawia porty dla zaprojektowanych przez autora usług i tak:
supla-db(3306),
supla-server(2015,2016),
supla-cloud(80,443). Podczas instalacji ustalasz na jakich portach będą widziane poza NATem na wskazanym adresie/domenie.
Aplikacja mogła by być w jednym kontenerze, ale lepiej jest dokonać podziału. Uruchomienie aplikacji w środowisku zdockeryzowanym z podziałem na kontenery pełniąniące określone funkcje, daje możliwość łatwego dostarczania aktualizacji tylko dla jej części, np. aktualizacja
supla-cloud, czy
supla-server z osobna.
W przypadku maszyn wirtualnych jest zupełnie inaczej, nie dość że musisz postawić jakiś system operacyjny, który zarezerwuje zasoby gospodarza, to jeszcze po instalacji aplikacji musisz zadbać o prawidłowe wersje składników systemu aby aplikacja działała prawidłowo. Maszyny wirtualne rezerwują zasoby gospodarza na stałe i nawet jak ich nie używają, to trzymają dla siebie. Uruchamiasz dwie, trzy takie maszyny i kończą Ci się zasoby.
Z kontenerami dockera jest nieco inaczej, bo możesz mieć mnóstwo kontenerów i każdy się dopcha do zasobów, bo jak, któryś ich nie używa, to zwraca je do puli. Są też inne zalety, możesz mieć w ramach jednej aplikacji uruchomione np. dwie chmury. Jedną typu release dostępną przez
cloud.mojadomena.pl, a drugą rozwojową np.
beta_cloud.mojadomena.pl. Zrobienie tego samego na wirtualce czasami jest nie możliwe, a jak już jest to generuje dużo większy koszt zasobów.
Wracając do tematu dostępu do kontenerów to każdy z nich ma wystawione porty na zewnątrz poza NAT dla adresu/domeny, które to podajesz podczas instalacji przez wizarda. O ile porty dla http i https dla supla-cloud możesz podczas instalacji zmienić, o tyle porty 2015 i 2016 dla spupla-server już nie, bo żadne z urządzeń by się nie skomunikowało z serwerem.
radzio6 pisze: ↑czw mar 14, 2019 7:32 am
Z telefonu nie można się już połączyć (port 2016 nie jest już przekierowywany)
A to nie jest prawdą, bo porty są wystawione. Coś musiałeś przekombinować.
Kod: Zaznacz cały
supla-server:
environment:
DB_PASSWORD: password
image: supla/supla-server
links:
- supla-db:supla-db
ports:
- 2016:2016
- 2015:2015
restart: always
volumes:
- ${PWD}/ssl/server:/etc/supla-server/ssl:z
- ${PWD}/server:/var/run/supla:z