Operazioni sui contenitori

Pausa di Contenitore

Lanciare un contenitore non interattivo che esegue la nostra procedura:

docker run -d alpine /bin/sh -c "$(cat forever.sh)"

Ispezionare i logs:

docker ps - per sapere il nome

docker logs nome

Mettere in pausa il contenitore:

docker pause nome

docker ps

docker logs nome

Togliere la pausa dopo un po’:

docker unpause nome

docker ps

docker logs nome

Il comando docker pause non termina i contenitori ma li sospende temporaneamente

Fermare un Contenitore

Fermare il contenitore:

docker stop nome

docker ps

docker ps -a

docker logs nome

Riavviare il contenitore:

docker start nome

docker ps

docker logs

Un contenitore fermato e riavviato ricomincia dall’inizio

Al termine dell’esercizio fermare e rimuovere tutti i contenitori

Pause

Altre Operazioni

Forzare la rimozione di un container attivo:

docker rm -f ID

Lanciare un container in modalità 'detached':

docker run -d ubuntu:20.04 sleep 10000

Il container deve fare qualcosa

Eseguire un comando su un container attivo:

docker exec -ti ID_ubuntu bash

Il termine del comando shell (Ctrl-D) non ferma il container

Opzioni di Run

Il comando docker run ha numerosissime opzioni, alcune tra le più usate sono:

--rm - rimuove automaticamente il contenitore quando viene fermato

--name nome - assegna il nome indicato e non quello fantasia

Esempi:

docker run --rm -ti --name alp alpine:3.7 /bin/sh
  • Lancia il contenitore col nome alp
  • Rimuove il contenitore quando si dà il comando exit
  • All’atto della rimozione di un contenitore vengono rimossi anche i suoi logs

Personalizzazioni

Formato del rapporto:

docker ps -a --format $FORMAT

ove:

export FORMAT="\nID\t{{.ID}}\nIMAGE\t{{.Image}}\
\nCOMMAND\t{{.Command}}\nCREATED\t{{.RunningFor}}\
\nSTATUS\t{{.Status}}\nPORTS\t{{.Ports}}\nNAMES\t{{.Names}}\n"

Anche:

alias dkp='docker ps -a --format $FORMAT'
alias dki='docker images'
alias dkr='docker rm'

Da inserirsi in .profile