Contenitori detached
Contenitore interattivo
Sullo host scrivere la procedura shell forever.sh
:
i=0
while true
do
sleep 2
i=`expr $i + 1`
echo $i
done
Lanciare un contenitore che esegue questa procedura:
docker run -ti alpine /bin/sh -c "$(cat forever.sh)"
L’output viene sul video del Linux host
Fermarlo: Ctrl-C
Verificare con docker ps -a
che il contenitore è fermo
Test: perchè il seguente non funziona?
docker run alpine:3.7 /bin/sh forever.sh
Contenitore non interattivo
Lanciare un contenitore non interattivo che esegue la procedura:
docker run -d alpine /bin/sh -c "$(cat forever.sh)"
Il pronto torna subito, il contenitore è detached
Per vedere l’output:
docker logs IDalpine
Se ci si collega ad un contenitore detached:
docker attach IDalpine
Questo non è più detached e il suo output arriva sul terminale Linux host.
Quando si preme Ctrl-C torna il pronto host ma il contenitore è fermato.
Se invece si preme Ctrl-P Ctrl-Q torna il ptonto host e il contenitore non è fermato.
Rimuovere tutti i contenitori:
docker rm [-f] $(docker ps -qa)
-f
- anche i contenitori non fermi