Betaalmethoden Abuse

Wat zijn containerhavens

10.09.2023, 23:08

Containerpoorten zijn specifieke netwerkpoorten die gebonden kunnen worden aan specifieke diensten of toepassingen binnen een container.

Wat is er speciaal aan containers?

Elke container kan zijn eigen poorten hebben die gebruikt kunnen worden om te communiceren met de buitenwereld of om te communiceren met andere containers. Bij het starten van een container kun je aangeven welke poorten beschikbaar moeten zijn in de container en welke poorten moeten worden doorgestuurd naar de hostmachine.

ports:

external_port:Internal port

Laten we bijvoorbeeld poort 80 doorsturen als 8094:

docker-nginx:
  image: nginx
  ports:
    - '8094:80'

Wanneer de container draait, kan de applicatie in de container luisteren of gegevens verzenden via de juiste poort. Gebruikers kunnen communiceren met de applicatie door toegang te krijgen tot de containerpoort die is doorgestuurd naar de hostmachine.

Hoe een container starten

Om containerpoorten te starten, moet je het docker run commando gebruiken met de -p of --publish vlag.

De syntaxis voor het docker run commando met de -p vlag is als volgt:

docker run -p <host port>:<container port> <image_name>

Waarbij:

<host-port> is de poort op je host die zal worden geproxied naar de containerpoort.

<container-port> - de poort binnen de container die zal worden benaderd via de gespecificeerde host-poort.

<image_name> - de naam van de container image die je wilt draaien.

Om bijvoorbeeld een container te starten met een webserver op poort 80 en deze te proxy'en naar poort 8080 van je host, kun je het volgende commando gebruiken:

docker run -p 8080:80 nginx

De webserver die in de container draait, zal nu toegankelijk zijn op poort 8080 van je host.

Je kunt ook een poortbereik gebruiken door meerdere paren <host-poort>:<container-poort> op te geven.

Bijvoorbeeld:

docker run -p 8080-8082:80-82 nginx

Dit zal poorten 80, 81 en 82 binnen de container proxyen naar respectievelijk poorten 8080, 8081 en 8082 van je host. Zodra je de container start met de proxied poorten, kun je ze benaderen via de gespecificeerde host poorten.