Contenitori interattivi

Esempio:

docker run -ti alpine:3.7

Il comando di default qui è /bin/sh. Come risultato siamo dentro il sistema operativo Alpine. Tutti i comandi che diamo sono quelli di Alpine.

Uscita temporanea:

Ctrl-P Ctrl-Q

Torna il pronto dello host Linux

Ispezione dei contenitori attivi:

docker ps

Notare lo id (hash) e il nome di fantasia assegnato d’ufficio al contenitore

Ritorno nel contenitore:

docker attach ID

oppure

docker attach nome

Uscita finale, da Alpine:

exit

Torna il pronto dello host linux. Il contenitore è terminato.

Lista contenitori attivi:

docker ps

Lista di tutti i contenitori, anche terminati

docker ps -a

I contenitori terminati vanno rimossi:

docker rm ID

oppure

docker rm nome

Eventuale rimozione di tutti i contenitori:

docker rm -f $(docker ps -aq)

Attenzione : si possono perdere dei dati importanti

Alpine Linux

Alpine Logo

La release Linux di riferimento per Docker è Ubuntu. Questa è anche l’immagine di base su cui molte immagini di applicativi sono costruite. Ma: richiede molti MB di disco.

Un’alternativa recente per lo sviluppo immagini di applicativi è Alpine Linux

  • Molto ridotto nel footprint
  • Richiede pochissimi MB di disco

Attenzioni:

  • Alpine ha comandi di amministrazione diversi
  • I comandi di base sono ottenuti con busybox
  • L’ambiente runtime è MUSL e non GLIBC

Questo necessita di attenzioni quando si sviluppano eseguibili compilati dai contenitori