Pomoc Docker compose. Ciekawy problem z siecia

Status
Brak możliwości dodawania odpowiedzi.

miloszes

Passing Basics
Beginner
4 Luty 2024
7
1
0
1
44
QNAP
TS-459U
Ethernet
2.5 GbE
Witam wszystkich serdecznie,

Od pewnego czasu staram sie ustawic kilka uslug na swoim QNAPie.
Ze względu na przejrzystość chciałem rozdzielić poszczególne usługi na oddzielne piiki docker compose - tak aby były one podzielone funkcjonalnie.
Aktualnie pracuję nad konfiguracja sieci - chcialbym aby poszczegolne serwisy dostepne byly wylacznie wewnatrz sieci int-net, natomiast dostep do nich byl dostepny poprzez nginx wystawiony na jakims IP(podany adres IP jest adresem przykladowym).
W zwiazku z tym dla serwisu nginx probuje stworzyc dwie sieci:
* int-net (bridge) komunikacja wewnetrzna
* qnet-network (qnet)
1707053939910.png

O ile z wystawieniem nginx'a na "zewnatrz" nie mam najmniejszego problemu, tak podczas konfigurowania dodatkowej sieci int-net docker rzuca mi nastepujacym bledem:

"Error response from daemon: driver failed programming external connectivity on endpoint proxy-proxy-1 (7e7939bf635169840eb5260adc7892c5e3b37a441b9ca63d776ea93587537ed7): listen tcp4 0.0.0.0:443: bind: address already in use"

Próbowałem następujacych opcji:

1. definiowanie sieci int-net w ramach
a. tego samego pliku compose
b. pliku homepage compose z opcja attachable + ngix attachable + external
c. reczne stworzenie sieci za pomoca docker network create network-int oraz docker network create network-int --attachable --subnet=172.25.0.0/16 a nastepnie definiowanie w ngix attachable + external
d. reczne stworzenie sieci jak w podpunkcie powyzej i proba dodania kontenerow do sieci int-net za pomoca polecenia docker docker network connect int-net 9f79eb44b842
e. rozne inne kombinacje tych rozwiazań

Co ciekawe kiedy utowrzylem siec za pomoca portainera i dodalem recznie kontener za pomoca polecenia z punktu d, wszystko dziala prawidlowo. Rowniez ta sama siec uzyta w pliku compose jako attachable i external zachowuje sie prawidlowo - nie dostaje wspomnianych bledow address already in use :/

Porownanie wynikow docker inspect obu sieci nie wykazuje roznic. Jedyna roznica polega na tym, ze jedna siec zostala dodana za pomoca portainer (dzialajace rozwiazania) a druga recznie/compose.yaml(nie dzialajace rozwiazanie).

Ponizej zalaczam compose.yaml file, ktorego uzywam do przeprowadzania testow.

version: "3.8"
services:
proxy:
image: "jc21/nginx-proxy-manager:latest"
restart: unless-stopped
hostname: "proxy.local"
ports:
- '80:80' # Public HTTP Port
- '443:443' # Public HTTPS Port
- '81:81' # Admin Web Port
networks:
int-net:
qnet-network:
ipv4_address: 192.168.30.69
volumes:
- /share/containers_mount/proxy/data:/data
- /share/containers_mount/proxy/letsencrypt:/etc/letsencrypt
networks:
qnet-network:
driver_opts:
iface: eth0
driver: qnet
ipam:
driver: qnet
options:
iface: eth0
config:
- subnet: 192.168.30.0/24
gateway: 192.168.30.10
int-net:
external: true
attachable: true
name: int-net

Plik compose deploy'uje za pomoca container station 3. Posiadam najnowsza wersje QTS (5.1.5.2645). Powyzszy plik compose nie udaje mi sie deployowac za pomoca portainer (
failed to deploy a stack: Network proxy22_qnet-network Creating Network proxy22_qnet-network Error failed to create network proxy22_qnet-network: Error response from daemon: cannot find interface option) ze wzgledu na problem tworzenia sieci qnet.


Czy ma ktos moze pomysl dlaczego moje rozwiazanie moze nie dzialać? Wiem, że mogę kontynuować i tworzyć sieci za pomoca portainer, ale nie jest to to co chcialbym osiagnac - chcialcym miec w jednym miejscu zdediniowane procesy i jak najbardziej je moc zautomatyzowac na przyszlosc.


Z góry dziękuję i pozdrawiam,
Miłosz
 
Rozwiązanie
Siec problematyczna.
JSON:
[
[
    {
        "Name": "int-net",
        "Id": "1541667856ecd79b1ab9fd70e55be2bc180d08a124906dcfb712fa0b201652c2",
        "Created": "2024-02-04T13:55:48.593506201+01:00",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": null,
            "Config": [
                {
                    "Subnet": "172.30.0.0/16",
                    "Gateway": "172.30.0.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": true,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {...
Status
Brak możliwości dodawania odpowiedzi.

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

  1. Container
  2. pihole docker
  3. nginx
  4. nginx proxy manager
  5. pihole docker compose
  6. container station docker compose