Spesso capita la necessità di dover accedere a un container per verificarne alcuni aspetti del funzionamento.

Anche se Docker non da nativamente un modo per accedere a un container, possiamo utilizzare un trucco ovvero eseguire un nuovo processo su quel container che esegue una shell.

Il comando che docker mette a disposizione per lanciare un nuovo processo è: docker container exec <nome o id del container> <comando>

Per interagire con un container, tendenzialmente si esegue una shell che in questo caso è invocata mediante il comando sh.

Supponendo di avere il container della sezione precedente in esecuzione (altrimenti lanciarlo come da istruzioni previste qui), eseguiamo:

docker container exec web sh

Ci accorgiamo presto che l’esecuzione termina subito, senza darci modo di interagire con il container. Questo accade perché dobbiamo avere un’esecuzione interattiva e un tty per poterci interagire. Anche in questo caso, abbiamo bisogno dei flag -i e -t. Se ritentiamo l’esecuzione con questi flag come segue

docker container exec -it web sh

Otteniamo un accesso alla shell.

Per uscire dalla shell basta utilizzare la shortcut Ctrl+d


Prosegui su: Accedere a un container

Immagine: Neve foto creata da wirestock – it.freepik.com

Dockertutorial.it rimarrà gratuito.

Se ti fa piacere, qui puoi contribuire al mantenimento di questo progetto. Grazie!