Questo tutorial mira a mostrarti come lavorare con il comando Docker Exec per eseguire comandi in Esecuzione di contenitori.
Uso di base
Lavorare con Docker Exec è molto semplice. Iniziamo chiamando il comando Docker Exec seguito dal nome del contenitore o dall'ID e dal comando da eseguire.
Ad esempio, per eseguire il comando Echo in Container Debian, utilizziamo il comando come:
$ Docker Exec Debian Echo Hello
Il comando genera una shell del contenitore Debian ed esegue il comando Echo. Un esempio di esempio viene visualizzato di seguito:
Per ottenere il nome o un ID dei contenitori in esecuzione, utilizzare il comando:
$ Docker PS
Opzioni Exec Docker
Il comando Docker Exec supporta varie opzioni per modificare la funzionalità dei comandi. Supporta le seguenti funzioni.
Docker Exec Sh
Nella maggior parte dei casi, abbiamo bisogno di un'istanza di shell nel contenitore per eseguire comandi grezzi. Per fare ciò, utilizziamo il comando Docker Exec.
$ Docker Exec Debian -i -t /bin /bash
Il comando sopra lancia una shell interattiva. È bene assicurarsi che l'eseguibile bash esista prima del comando in esecuzione.
Se Bash o qualsiasi shell che si desidera utilizzare non è disponibile, usa SH nel comando qui sotto:
$ Docker Exec -it /bin /sh
Come puoi vedere, hai una sessione di shell interattiva in cui è possibile eseguire comandi.
Exec come root
Per comandare Exec come root, utilizzare l'opzione -u. L'opzione richiede un nome utente o un UID dell'utente. Per esempio:
$ Docker Exec -u 0 Debian Whoami
$ radice
Nel comando sopra, utilizziamo l'UID dell'utente root per eseguire il comando whoami come root.
Per utilizzare il nome utente anziché l'UID utente, utilizzare il comando:
$ Docker Exec -u Root Debian Whoami
$ radice
Il comando sopra può aiutare quando si desidera risolvere i problemi o eseguire attività che richiedono privilegi elevati.
Conclusione
Questo è tutto per il comando Docker Exec.
Abbiamo discusso utilizzando Docker Exec per eseguire i comandi nei tuoi contenitori in esecuzione e spawn una sessione di shell. Infine, abbiamo coperto come eseguire i comandi come root usando nome utente e uid.