Docker Mapping delle Porte
Una tecnica che consente di collegare una porta sul tuo host (localhost) a una porta del container
Mapping delle Porte
In Docker, il mapping delle porte è una tecnica che consente di collegare una porta sul tuo host (localhost) a una porta su un container Docker.Questo è utile quando vuoi che un servizio in esecuzione all'interno di un container Docker sia accessibile dall'esterno tramite una porta specifica sul tuo host.
Esempio di Mapping delle Porte
Supponiamo di voler esporre una porta 80 del container Docker sulla porta 8082 del tuo host locale.Puoi fare ciò utilizzando l'opzione `-p` nel comando `docker run`.
Scarica un'immagine di esempio
Prima di tutto, avrai bisogno di un'immagine Docker che esegua un servizio sulla porta 80.Per questo esempio, utilizzeremo l'immagine `nginx` che esegue un server web sulla porta 80.
docker pull nginx
Esegui il container con il mapping delle porte
Usa il comando `docker run` con l'opzione `-p` per mappare la porta 8082 dell'host alla porta 80 del container.
docker run -d -p 8082:80 nginx
- -d: Esegue il container in background (modalità detached).
- -p 8082:80: Mappa la porta 8082 dell'host alla porta 80 del container.
- nginx: L'immagine Docker da utilizzare.
Verifica il mapping delle porte
Dopo aver eseguito il comando sopra, il server Nginx sarà in esecuzione nel container e sarà accessibile tramite la porta 8082 del tuo host.Puoi verificare questo aprendo un browser web e navigando all'URL:
http://localhost:8082
Dovresti vedere la pagina predefinita di Nginx.
Esempio Completo
# Scarica l'immagine di Nginx
docker pull nginx
# Esegui il container con il mapping delle porte
docker run -d -p 8082:80 nginx
Verifiche
Controlla i container in esecuzione
Puoi controllare i container attualmente in esecuzione e i relativi mapping delle porte.
docker ps
Questo comando mostrerà un elenco di container in esecuzione, inclusi i mapping delle porte configurati.
Esegui comandi all'interno del container
Per eseguire comandi all'interno del container in esecuzione, puoi utilizzare `docker exec`. Ad esempio, per accedere a una shell all'interno del container Nginx:
docker exec -it <container_id> /bin/bash
Sostituisci <container_id> con l'ID del container ottenuto dal comando `docker ps`.
Conclusione
Mappare le porte tra l'host e un container Docker è un'operazione comune che consente di esporre servizi in esecuzione all'interno dei container.Utilizzando l'opzione `-p`, puoi facilmente configurare quali porte dell'host dovrebbero essere instradate verso quali porte dei container.