Gemenskapslösning

CasaOS-appar delar port 5000: Ändra värdporten, inte containerporten

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.

En CasaOS-användare installerade flera webbapplikationer som förväntade sig containerport 5000. Endast en app kunde nås eftersom flera containrar försökte publicera samma port på Debian-värden. När båda sidorna i mappningen ändrades slutade vissa applikationer att svara.

Den enkla regeln är: behåll applikationens containerport oförändrad om inte dess egen dokumentation säger att lyssningsporten kan konfigureras. Ändra endast porten på värdsidan.

Läs Dockers portmappningar från vänster till höger

5001:5000

I den här mappningen är 5001 värdporten som används i webbläsaren och 5000 porten där applikationen lyssnar inuti containern. Dockers officiella guide för publicering av portar använder samma modell från värd till container.

Mappa två appar som använder port 5000 till olika värdportar

Applikation Värdport Containerport Webbläsaradress
MusicBrainz 5001 5000 http://SERVER-IP:5001
HandBrake 5002 5000 http://SERVER-IP:5002

Varje kombination av värd-IP och port måste vara unik. Flera containrar kan fortfarande lyssna på 5000 internt eftersom deras nätverksnamnrymder är isolerade.

Varför en ändring av containerporten ofta gör att webbgränssnittet slutar fungera

En avbild kan starta sin webbserver på en fast intern port. Om CasaOS mappar värdport 5001 till containerport 5001 medan processen fortfarande lyssnar på 5000, vidarebefordrar Docker trafiken till ett tomt uttag. Containern kan verka fungera normalt även om webbläsaren inte får något svar.

Ändra endast containerporten när den ursprungliga applikationen erbjuder en dokumenterad inställning eller miljövariabel som även ändrar processens lyssningsport.

Redigera rätt fält i CasaOS

  1. Öppna appens inställningar eller konfigurationen för anpassad installation.
  2. Leta reda på portfältet som visar värd- och containervärden.
  3. Låt containervärdet vara kvar på avbildens standardvärde.
  4. Välj en ledig värdport.
  5. Spara och återskapa eller starta om containern enligt anvisningarna.
  6. Öppna appen via den nya värdporten.

Verifiera innan du tilldelar en ny port

Kontrollera CasaOS applista eller containerkonfiguration efter befintliga mappningar. Tänk även på tjänster som är installerade direkt på Debian, eftersom de kan använda samma värdport utan att visas som en CasaOS-app. Undvik att tilldela vanliga infrastrukturportar som 22, 53, 80, 443 eller 445 om du inte känner till den befintliga tjänsten.

Värdnätverk tar bort denna flexibilitet

I värdnätverksläge delar containern värdens nätverksnamnrymd och kan inte mappa om en lyssningsport som redan används på normalt sätt. Dockers dokumentation om värdnätverk bekräftar att endast en tjänst kan binda till en viss värdport.

Vanliga frågor om portkonflikter i CasaOS

Vilket nummer ska jag ändra?

Ändra värdporten, som är det första numret i HOST:CONTAINER.

Kan alla appar använda containerport 5000?

Ja, om varje container är isolerad och varje container publicerar en annan värdport.

Varför installerades appen men öppnades inte?

Mappningen kan peka på en containerport där applikationen inte lyssnar.