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
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