Communityoplossing

CasaOS-apps delen poort 5000: wijzig de hostpoort, niet de containerpoort

A June 2024 CasaOS question about MusicBrainz, HandBrake, and other apps sharing port 5000; a later reply identified changing the host port while preserving the container port.

Een CasaOS-gebruiker installeerde verschillende webapplicaties die containerpoort 5000 verwachtten. Slechts één app was bereikbaar, omdat meerdere containers dezelfde poort op de Debian-host probeerden te publiceren. Toen beide kanten van de mapping werden gewijzigd, reageerden sommige applicaties niet meer.

De werkende regel is eenvoudig: laat de containerpoort van de applicatie ongewijzigd, tenzij de eigen documentatie aangeeft dat de luisterpoort configureerbaar is. Wijzig alleen de poort aan de hostzijde.

Docker-poortmappings van links naar rechts lezen

5001:5000

In deze mapping is 5001 de hostpoort die je in de browser gebruikt en 5000 de poort waarop de applicatie binnen de container luistert. De officiële handleiding voor het publiceren van poorten van Docker gebruikt hetzelfde model van host naar container.

Twee apps op poort 5000 aan verschillende hostpoorten koppelen

Applicatie Hostpoort Containerpoort Browseradres
MusicBrainz 5001 5000 http://SERVER-IP:5001
HandBrake 5002 5000 http://SERVER-IP:5002

Elke combinatie van host-IP-adres en poort moet uniek zijn. Meerdere containers kunnen intern toch op 5000 luisteren, omdat hun netwerknaamruimten van elkaar zijn geïsoleerd.

Waarom het wijzigen van de containerpoort de webinterface vaak laat uitvallen

Een image kan zijn webserver op een vaste interne poort starten. Als CasaOS hostpoort 5001 aan containerpoort 5001 koppelt terwijl het proces nog steeds op 5000 luistert, stuurt Docker verkeer door naar een lege socket. De container kan gezond lijken, ook al ontvangt de browser geen antwoord.

Wijzig de containerpoort alleen wanneer de upstreamapplicatie een gedocumenteerde instelling of omgevingsvariabele beschikbaar stelt waarmee ook de luisterpoort van het proces wordt gewijzigd.

Het juiste veld in CasaOS bewerken

  1. Open de instellingen of de configuratie voor aangepaste installatie van de app.
  2. Zoek de poortvermelding met de host- en containerwaarden.
  3. Laat de containerwaarde op de standaardwaarde van de image staan.
  4. Kies een ongebruikte hostpoort.
  5. Sla de wijzigingen op en maak de container opnieuw aan of start deze opnieuw, zoals aangegeven.
  6. Open de app via de nieuwe hostpoort.

Controleer dit voordat je een nieuwe poort toewijst

Controleer de CasaOS-applijst of de containerconfiguratie op bestaande mappings. Houd ook rekening met services die rechtstreeks op Debian zijn geïnstalleerd, omdat deze dezelfde hostpoort kunnen bezetten zonder als CasaOS-app te verschijnen. Wijs geen veelgebruikte infrastructuurpoorten zoals 22, 53, 80, 443 of 445 toe, tenzij je begrijpt welke bestaande service deze gebruikt.

Hostnetwerken neemt deze flexibiliteit weg

In de hostnetwerkmodus deelt de container de netwerknaamruimte van de host en kan een al gebruikte luisterpoort niet op de normale manier opnieuw worden toegewezen. De documentatie over hostnetwerken van Docker bevestigt dat slechts één service een bepaalde hostpoort kan binden.

Veelgestelde vragen over poortconflicten in CasaOS

Welk nummer moet ik wijzigen?

Wijzig de hostpoort, het eerste nummer in HOST:CONTAINER.

Kan elke app containerpoort 5000 gebruiken?

Ja, als elke container geïsoleerd is en elke container een andere hostpoort publiceert.

Waarom is de app wel geïnstalleerd, maar kan ik deze niet openen?

De mapping verwijst mogelijk naar een containerpoort waarop de applicatie niet luistert.