diff --git a/docker/009-networking.md b/docker/009-networking.md index be06540..7541d54 100644 --- a/docker/009-networking.md +++ b/docker/009-networking.md @@ -37,6 +37,10 @@ Esistono diverse tipologie di networking che possono essere utilizzate in Docker ## Port mapping +Mappare una porta significa associare una porta specifica del sistema host a una porta di un container. Questo processo consente di rendere accessibili i servizi in esecuzione all'interno del container dall'esterno. + +![port-mapping](asset/img/port-mapping.png) + Il seguente stack di esempio è composto da due servizi: *php* e *nginx*. In particolare, il servizio nginx espone due porte: la porta 80 del container sulla porta 8080 del sistema host e la porta 443 del container sulla porta 8443 dell'host. ```yml @@ -117,6 +121,16 @@ CONTAINER ID IMAGE COMMAND CREATED STATUS 6559daa92656 nginx:latest "/docker-entrypoint.…" 3 seconds ago Up 2 seconds 127.0.0.1:32769->80/tcp nginx ``` +### Mapping Multiple Ports + +Docker consente anche di mappare più porte contemporaneamente. Questo è utile quando il container deve esporre più servizi su porte diverse: + +```bash +docker run -p 8080:80 -p 443:443 nginx +``` + +Oppure, per mappare un intervallo di porte: `docker run -p 5000-5100:5000-5100 nginx`. + ## Reti virtuali Per impostazione predefinita, i container Docker sono isolati l'uno dall'altro, il che impedisce la comunicazione diretta tra servizi che operano su stack diversi. Tuttavia, è possibile creare una rete virtuale condivisa tra container di due stack differenti, consentendo loro di comunicare. diff --git a/docker/asset/img/port-mapping.png b/docker/asset/img/port-mapping.png new file mode 100644 index 0000000..f8e56f4 Binary files /dev/null and b/docker/asset/img/port-mapping.png differ