Cos'è un Docker Container
Un'istanza in esecuzione di un'immagine è chiamata contenitore. Docker li avvia utilizzando le immagini Docker come modelli di sola lettura. Se avvii un'immagine, hai un contenitore in esecuzione di questa immagine. Naturalmente, puoi avere molti contenitori in esecuzione della stessa immagine. Usiamo il comando “docker run ” per eseguire un contenitore.
Elenco dei contenitori Docker
Per elencare i contenitori, esegui il comando seguente:
# docker ps [ OPTIONS ]
Per elencare sia i contenitori in esecuzione che quelli interrotti, usa l'opzione -a come segue:
# docker ps -a
qui,
ID CONTENITORE – ID univoco assegnato a tutti i contenitori.
IMAGE – Immagine di base da cui è stato avviato il contenitore.
COMANDO – Comando utilizzato all'avvio del container (l'impostazione predefinita è /bin/bash, se non si specifica alcun comando con "docker run").
CREATED – Ora in cui è stato creato il contenitore.
STATO – Lo stato corrente del container (attivo o terminato).
PORTI – I numeri di porta, se presenti, inoltrati all'host Docker per comunicare con il mondo esterno.
NOMI – Il demone Dockers nomina il cluster in modo strano. Puoi anche specificare il tuo nome durante la generazione di un contenitore.
Per elencare solo l'ID contenitore, utilizza -aq opzione.
# docker ps -qa eeae1186ea78 52249ba75f0f 709773bb7128
Per elencare l'ultimo contenitore creato (in esecuzione o interrotto):
# docker ps -l CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES eeae1186ea78 centos "/bin/bash" About a minute ago Up About a minute modest_hypatia
Avvio di un contenitore Docker
Utilizza il comando seguente per avviare un contenitore Docker:
# docker run [ OPTIONS ] IMAGE[:TAG] [COMMAND] [ARG...]
Ad esempio :
# docker run -i -t --name=centos7_lab centos:latest /bin/bash
qui,
-i :avvia il contenitore in modalità interattiva.
-t :assegna una pseudo-tty e la allega allo standard input
–name :nome descrittivo per il contenitore. Se il nome non è specificato, verrà assegnata una stringa casuale come nome del contenitore.
Quando esegui un comando Docker con -t, verrai collegato immediatamente al contenitore e vedresti il prompt dei comandi modificato. Puoi usare il comando "exit" per uscire dal container.
Nota :Quando si esegue un comando "docker run" e iamge non è disponibile localmente sul sistema, verrà prima scaricato dal registro utilizzando i comandi "docker search" e "docker pull" prima di eseguire il comando "docker run".
In tutti gli esempi precedenti, quando si avvia il container, si accede automaticamente ad esso. E quando esci dal container, il container si ferma. Puoi anche mantenere in esecuzione il contenitore anche quando ti disconnetti utilizzando -d opzione. Ad esempio :
# docker run -itd --name=geeklab centos:latest /bin/bash cae760f70ec4bd232891364824773c2a3cac8f7854261108c474d304e6a5c5fa
Ecco,
-d – Esegue il contenitore in background e stampa l'ID contenitore.
Arresto di un container Docker
Puoi fermare uno o più (tutti) i contenitori contemporaneamente. La sintassi del comando per arrestare un contenitore mobile è:
docker stop [-t|--time[=10]] CONTAINER [CONTAINER...]
Ecco,
–time/-t è il periodo di grazia da attendere prima di arrestare il contenitore.
Ad esempio, prima controlla quale contenitore è in esecuzione.
# docker ps -q eeae1186ea78
Ora per fermare il contenitore sopra usa il comando seguente.
# docker stop eeae1186ea78 eeae1186ea78
Per arrestare tutti i contenitori, esegui il comando seguente:
# docker stop `docker ps -q`
Eliminazione di un contenitore Docker
Per eliminare il contenitore Docker, utilizza la sintassi seguente:
# docker rm [ OPTIONS ] CONTAINER [ CONTAINER ]
Ad esempio:
# docker rm eeae1186ea78 eeae1186ea78
Per eliminare un container dobbiamo prima fermarlo. Ad esempio, se provi a eliminare un contenitore in esecuzione, riceverai un errore come:
# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES cae760f70ec4 centos:latest "/bin/bash" 4 minutes ago Up 4 minutes geeklab
# docker rm cae760f70ec4 Error response from daemon: You cannot remove a running container cae760f70ec4bd232891364824773c2a3cac8f7854261108c474d304e6a5c5fa. Stop the container before a ttempting removal or force remove
Quindi per eliminare il contenitore, prima fermalo e poi eliminalo.
# docker stop cae760f70ec4 cae760f70ec4
# docker rm cae760f70ec4 cae760f70ec4
Per eliminare forzatamente un contenitore senza interromperlo, utilizza -f opzione.
# docker rm -f 18a1924e8499 18a1924e8499
Per eliminare tutti i contenitori in una volta, prima fermali tutti e poi eliminali.
# docker stop `docker ps -q` # docker rm `docker ps -aq`Risoluzione dei problemi di Docker:"conflitto:impossibile eliminare, l'immagine è utilizzata dal contenitore in esecuzione"
Come installare la finestra mobile su CentOS / RHEL / Fedora