Collegarsi ad un container in esecuzione
Per collegare (attach) la shell del docker host alla shell di un container in esecuzione è necessario usare il comando 'docker container exec' specificando il nome del container e il comando con il quale vogliamo collegarci.
docker container exec -it adoring_merkle bash
L'uso di bash è utile per i container Linux, per i container Windows andrà usato per esempio pwsh.exe. Attenzione! 'adoring_merkle' è il nome del container sulle mie macchine, sostituitelo col nome del vostro container. Per sapere il nome visualizzate l'elenco dei Docker container in esecuzione. Per identificare il container si può usare il nome oppure l'ID. Come nel caso del lancio del container, abbiamo usato le opzioni -it per collegare la nostra shell a quella del container. La parte finale del comando è 'bash", il comando che vogliamo venga eseguito dal container all'ingresso.
Anche in questo caso per abbandonare la shell del container basta Ctrl+PQ, questo non fermerà il container.
Uso generico di exec
Il comando docker exec viene usato, in generale, per eseguire un comando all'interno di un container in esecuzione. Il comando verrà lanciato nella directory di default del container, o nella directory specificata nella direttiva WORKDIR del Dockerfile. Per impostare una directory particolare è possibile usare l'opzione --workdir o -w. Il comando deve essere un eseguibile e non può essere specificato tra apici.