Docker - Gestione delle porte

In Docker, i contenitori stessi possono avere applicazioni in esecuzione sulle porte. Quando si esegue un container, se si desidera accedere all'applicazione nel container tramite un numero di porta, è necessario mappare il numero di porta del container al numero di porta dell'host Docker. Diamo un'occhiata a un esempio di come questo può essere ottenuto.

Nel nostro esempio, scaricheremo il contenitore Jenkins da Docker Hub. Quindi mapperemo il numero di porta Jenkins al numero di porta sull'host Docker.

Step 1 - Innanzitutto, devi eseguire una semplice registrazione su Docker Hub.

Step 2 - Dopo esserti registrato, accederai a Docker Hub.

Step 3 - Quindi, sfogliamo e troviamo l'immagine di Jenkins.

Step 4 - Se scorri verso il basso nella stessa pagina, puoi vedere il Docker pullcomando. Questo verrà utilizzato per scaricare l'immagine di Jenkins sul server Ubuntu locale.

Step 5 - Ora vai al server Ubuntu ed esegui il comando -

sudo docker pull jenkins

Step 6 - Per capire quali porte sono esposte dal container, dovresti usare Docker inspect command per ispezionare l'immagine.

Ora impariamo di più su questo inspect comando.

docker inspect

Questo metodo consente di restituire informazioni di basso livello sul contenitore o sull'immagine.

Sintassi

docker inspect Container/Image

Opzioni

  • Container/Image - Il contenitore o l'immagine da ispezionare

Valore di ritorno

Le informazioni di basso livello dell'immagine o del contenitore in formato JSON.

Esempio

sudo docker inspect jenkins

Produzione

L'output di inspectcomando fornisce un output JSON. Se osserviamo l'output, possiamo vedere che c'è una sezione di "ExposedPorts" e vedere che ci sono due porte menzionate. Uno è ildata port di 8080 e l'altro è il control port di 50000.

Per eseguire Jenkins e mappare le porte, è necessario modificare il Docker runcomando e aggiungi l'opzione 'p' che specifica la mappatura della porta. Quindi, è necessario eseguire il seguente comando:

sudo docker run -p 8080:8080 -p 50000:50000 jenkins

Il lato sinistro della mappatura del numero di porta è la porta host Docker a cui mappare e il lato destro è il numero di porta del container Docker.

Quando apri il browser e vai all'host Docker sulla porta 8080, vedrai Jenkins attivo e funzionante.