Přesměrování portů je zásadní funkcionalita pro správu síťové komunikace kontejnerů v Dockeru. V tomto článku se zaměříme na konkrétní postup nastavení přesměrování portů pro kontejnery běžící na operačním systému CentOS 7, a to bez použití nástroje Docker Compose. Tento postup je ideální pro situace, kdy potřebujete rychle přesměrovat porty bez zbytečného komplikování nebo v případech, kdy Docker Compose není k dispozici nebo vhodný pro danou úlohu.
Předpoklady
Než začnete, ujistěte se, že máte:
- Nainstalovaný CentOS 7
- Nainstalovaný Docker
- Uživatelský účet s oprávněními pro spuštění příkazů Docker (typicky
root
nebo uživatel v skupině docker
)
Krok 1: Instalace a konfigurace firewalld
CentOS 7 využívá firewalld
jako výchozí řešení pro správu firewallu. Pro přesměrování portů je nutné mít firewalld
nainstalovaný a aktivní.
-
Instalace firewalld
:
sudo yum install firewalld
-
Spuštění firewalld
:
sudo systemctl start firewalld
-
Nastavení firewalld
k automatickému spuštění při bootu:
sudo systemctl enable firewalld
Krok 2: Nastavení pravidel pro přesměrování portů v firewalld
Předpokládejme, že chcete přesměrovat veškerou komunikaci z veřejného portu 80 na port 8080, na kterém běží váš Docker kontejner.
-
Přidání pravidla pro přesměrování:
sudo firewall-cmd --zone=public --add-forward-port=port=80:proto=tcp:toport=8080
-
Trvalé aplikování pravidla:
sudo firewall-cmd --runtime-to-permanent
Krok 3: Spuštění Docker kontejneru s nastavením portů
Nyní, když máte nastaveno přesměrování portů na úrovni systému, můžete spustit Docker kontejner s příslušnými porty.
- Spuštění kontejneru s vazbou portů:
sudo docker run -d -p 8080:8080 --name moj_kontejner <obraz>
V tomto příkladu -p 8080:8080
znamená, že Docker prováže port 8080 na hostitelském systému s portem 8080 v kontejneru. <obraz>
je název Docker obrazu, který chcete použít.
Přesměrování portů pro kontejnery Dockeru na CentOS 7 bez použití Docker Compose vyžaduje správnou konfiguraci firewalld
a spuštění kontejnerů s příslušnými nastaveními portů. Tento průvodce krok za krokem vás provedl základním nastavením, které by mělo pokrýt většinu potřeb přesměrování portů pro běžné aplikace. Nezapomeňte, že pro složitější scénáře může být nutné přizpůsobit nastavení firewallu nebo Dockeru dle specifických potřeb vaší aplikace.