|
|
| (Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt) |
| Zeile 1: |
Zeile 1: |
| == Docker-Netzwerk: IP-Übersicht ==
| |
|
| |
|
| Alle Container laufen im gemeinsamen Bridge-Netzwerk <code>tuxi_network</code>
| |
| mit dem Subnetz <code>172.18.0.0/16</code>, Gateway <code>172.18.0.1</code>.
| |
|
| |
| Diese Seite dokumentiert welche Container feste IPs haben, warum, und welche
| |
| Container dynamische IPs erhalten dürfen.
| |
|
| |
| ----
| |
|
| |
| == Gepinnte IPs ==
| |
|
| |
| Gepinnt werden müssen nur Container die als '''Ziel''' in <code>extra_hosts</code>
| |
| eines anderen Containers erscheinen, oder auf die eine Firewall-Regel direkt zeigt.
| |
|
| |
| {| class="wikitable"
| |
| ! Container !! IP !! Konfiguriert in !! Grund
| |
| |-
| |
| | <code>caddy</code> || <code>172.18.0.6</code> || <code>/opt/container/caddy/docker-compose.yml</code> || Ziel in <code>extra_hosts</code> von Nextcloud. Nextcloud muss Collabora über Caddy intern erreichen.
| |
| |-
| |
| | <code>nextcloud</code> || <code>172.18.0.20</code> || <code>/opt/container/nextcloud/docker-compose.yml</code> || Ziel in <code>extra_hosts</code> von Collabora. Caddy-Firewall-Regel prüft diese IP (<code>@nextcloud remote_ip</code>).
| |
| |}
| |
|
| |
| === Noch zu pinnen ===
| |
|
| |
| {| class="wikitable"
| |
| ! Container !! Empfohlene IP !! Grund
| |
| |-
| |
| | <code>varnish-wp</code> || <code>172.18.0.10</code> || Belegt nach Neustart regelmäßig IPs die anderen Containern gehören — hat gestern Nextcloud blockiert.
| |
| |}
| |
|
| |
| ----
| |
|
| |
| == Dynamische IPs ==
| |
|
| |
| Diese Container haben keine feste IP und dürfen dynamisch bleiben —
| |
| sie werden ausschließlich über ihren Docker-internen DNS-Namen angesprochen.
| |
|
| |
| {| class="wikitable"
| |
| ! Container !! Aktuelle IP !! Angesprochen als
| |
| |-
| |
| | <code>collabora</code> || 172.18.0.4 || <code>collabora:9980</code> (von Caddy)
| |
| |-
| |
| | <code>nc-db</code> || 172.18.0.5 || <code>nc-db:3306</code> (von Nextcloud)
| |
| |-
| |
| | <code>nc-redis</code> || 172.18.0.7 || <code>nc-redis:6379</code> (von Nextcloud)
| |
| |-
| |
| | <code>wp-db</code> || 172.18.0.8 || <code>wp-db:3306</code> (von WordPress)
| |
| |-
| |
| | <code>wordpress</code> || 172.18.0.9 || <code>wordpress:80</code> (von Varnish/Caddy)
| |
| |-
| |
| | <code>audiobookshelf</code> || 172.18.0.11 || <code>audiobookshelf:80</code> (von Caddy)
| |
| |-
| |
| | <code>jellyfin</code> || 172.18.0.3 || <code>jellyfin:8096</code> (von Caddy)
| |
| |-
| |
| | <code>mediawiki-mediawiki-1</code> || 172.18.0.2 || <code>mediawiki:80</code> (von Caddy)
| |
| |}
| |
|
| |
| Die „Aktuelle IP" ist nur ein Richtwert — sie kann sich nach jedem Neustart ändern.
| |
|
| |
| ----
| |
|
| |
| == extra_hosts-Konfiguration ==
| |
|
| |
| Zwei Container müssen Domains intern auflösen statt den Umweg über die externe IP
| |
| zu nehmen ([[Hairpin-NAT – Collabora und Nextcloud hinter Caddy|Hairpinning-Problem]]):
| |
|
| |
| === Nextcloud ===
| |
|
| |
| <syntaxhighlight lang="yaml">
| |
| extra_hosts:
| |
| - "collabora.tuxi.ddnss.de:172.18.0.6"
| |
| </syntaxhighlight>
| |
|
| |
| Nextcloud muss <code>collabora.tuxi.ddnss.de</code> intern über Caddy auflösen —
| |
| nicht über die externe IP. Zeigt auf Caddy (<code>172.18.0.6</code>), nicht direkt
| |
| auf Collabora, weil Caddy der TLS-Terminator ist.
| |
|
| |
| === Collabora ===
| |
|
| |
| <syntaxhighlight lang="yaml">
| |
| extra_hosts:
| |
| - "cirruscloud.tuxi.ddnss.de:172.18.0.20"
| |
| </syntaxhighlight>
| |
|
| |
| Collabora muss <code>cirruscloud.tuxi.ddnss.de</code> (Nextcloud) intern auflösen
| |
| um WOPI-Anfragen direkt zu stellen statt den Umweg über den Router zu nehmen.
| |
| Zeigt direkt auf Nextcloud (<code>172.18.0.20</code>).
| |
|
| |
| ----
| |
|
| |
| == Faustregel ==
| |
|
| |
| Wer in einem <code>extra_hosts</code>-Eintrag als IP steht → muss gepinnt sein.
| |
|
| |
| Wer nur über seinen Container-Namen angesprochen wird → darf dynamisch bleiben.
| |
|
| |
| Nach einem Neustart oder Restore immer prüfen:
| |
|
| |
| <syntaxhighlight lang="bash">
| |
| docker exec nextcloud getent hosts collabora.tuxi.ddnss.de
| |
| docker exec collabora getent hosts cirruscloud.tuxi.ddnss.de
| |
| </syntaxhighlight>
| |
|
| |
| Beide müssen interne IPs zurückgeben. Erscheint eine externe IP:
| |
| <code>extra_hosts</code> greift nicht — die IP in der <code>docker-compose.yml</code>
| |
| ist veraltet.
| |
|
| |
| Vollständige Checkliste: [[Docker-Netzwerke und Container-IPs]]
| |
|
| |
| ----
| |
|
| |
| == Siehe auch ==
| |
|
| |
| * [[Docker-Netzwerke und Container-IPs]] — Konzepte, Pinning, Backup-Checkliste
| |
| * [[WOPI]] — warum die Allowlist und extra_hosts nötig sind
| |
| * [[Hairpin-NAT – Collabora und Nextcloud hinter Caddy]]
| |
|
| |
| [[Kategorie:Docker]]
| |
| [[Kategorie:Webserver]]
| |