Status
Brak możliwości dodawania odpowiedzi.

goruss

System Engineer
Q Specialist
20 Październik 2020
151
9
105
Odznaki
34
QNAP
null
Ethernet
null
Poz.
2
 
Witam,
Jestem już na finiszu swojej konfiguracji (migracja hostingu na qnapa).
Do szczęścia brakuje mi tylko poprawnie działającej konfiguracji serwera bazy danych.
Mam uruchomioną aplikację kontenerową mariadb + phpmyadmin jak poniżej
Kod:
version: '3'

services:
  db:
    image: webhippie/mariadb:latest
    restart: always
    environment:
      MARIADB_ROOT_PASSWORD: 'rootpass'
      MARIADB_DATABASE: 'nextcloud'
      MARIADB_USERNAME: 'nextcloud'
      MARIADB_PASSWORD: 'userpass'
    ports:
      - "3308:3306"
  phpmyadmin:
    image: phpmyadmin:latest
    restart: always
    environment:
      PMA_HOST: db
      PMA_USER: root
      PMA_PASSWORD: rootpass
    ports:
      - "9080:80"

Kontenery oczywiście działają, mogę połączyć się do phpmyadmin oraz zarządzać bazami, ale niestety nie mogę połączyć się z bazami danych np. poprzez nextclod gdzie wpisuję jako dbhost IPqnapa:3308
Problem być może leży w NAT , ale teoretycznie powinno to działać.
Poprzez FAQ SSH sprawdzam ip kontenerów
Kod:
docker network ls
docker inspect −−format '{{ .NetworkSettings.IPAddress }}' <ID kontenera>
i widzę, że kontenery mariadb oraz phpmyadmin są w jednej podsieci 172.29.0.0/22
natomiast kontener nextcloud w innej tj. 10.0.3.0/24 i być może to ma jakieś znaczenie choć nie powinno ponieważ nie łączę się poprzez ip dockera tylko przekierowany port...
Oczywiście jeżeli aplikacja typu nextcloud działa w kontenerze bridge to połączenie z bazą jest możliwe.
Jednak taka konfiguracja nie jest dla mnie optymalna ponieważ zaraz IP w sieci mi zabraknie.
 
Wiesz co,
jeszcze jestem w trakcie sprawdzania więc proszę nie traktować tego jako pewnik, ale wszystko na to wskazuje, że podsieci podsieci poszczególnych kontenerów mają decydujące znaczenie w kontekście komunikacji pomiędzy nimi.
Tak się składa, że jedne kontenery uruchamiam za pomocą GUI qnap container station wyszukując interesujące mnie aplikacje, a inne poprzez docker compose file za pomocą przycisku Create Application.
Container station ma ustawioną w GUI podsieć 10.0.3.0/24 i te kontenery się ze sobą komunikują natomiast poprzez docker compose jest tworzona zupełnie inna podsieć dla kontenera i jest problem z komunikacja.
Sprawdziłem to tworząc ww. kontener nie poprzez docker compose, a poprzez GUI containter station i połączenie z bazą jest...
To chyba rozwiąże moje problemy z pozostałych tematów (reverser proxy itp.).
W takim razie pozostaje pytanie w jaki sposób utworzyć kontener poprzez docker compose, aby był w tej samej podsieci co pozostałe?
 
Fakt, nie zauważyłem linka - duże dzięki za pomoc.
Ostatnie pytanie w tym temacie - jak tworzę dockera za pomocą GUI container station to czy gdzieś się zapisuje to co wyklikam np. do pliku .yml?
Chciałbym sobie podejrzeć te informacje dotyczące sieci dockera w qnapie, a przyznam, ze trochę mam z tym problem.
 
Zrobiłem, ale nie bardzo wiem jak te informacje nanieść na docker compose.
Znalazłem jedynie coś takiego
Kod:
networks:
   default:
       external:
           name: bridge
co teoretycznie oznacza, że kontener dołączam do istniejącej już sieci kontenerów, ale to nic nie zmienia w ustawieniach sieci kontenera.
Ok, szukam dalej.
Dobra, dopracowałem konfiguracje i wiem jak "wyklikać" kontener za pomocą container station z danego obrazu docker więc nie będę musiał korzystać z docker compose.
Tym samym wszystkie kontenery mam w jednej sieci i wszystko nareszcie działa.
Zrozumiałem też przy okazji o co Wam chodziło z tą zmianą IP (była taka wzmianka w innym temacie) i teraz wiem, że dotyczy to IP dla kontenera, które ulega zmianie po restarcie qnapa, ale w moim przypadku to nie ma znaczenia.
W końcu wszystko zaczęło działać:
- reverse proxy dla nextcloud
- mariadb v. 10.4 dla nextcloud
- phpmyadmin dla mariaDB
wszystkie kontenery w konfiguracji NAT
Jeszcze raz dzięki za pomoc.
 
Status
Brak możliwości dodawania odpowiedzi.

Użytkownicy znaleźli tą stronę używając tych słów:

  1. *