Docker Exec in contenitore come root

Docker Exec in contenitore come root
Docker è un potente strumento di containerizzazione che consente agli utenti di creare applicazioni isolate e autonome. I contenitori Docker trasportano il sistema operativo di base, le applicazioni e tutti i pacchetti richiesti. Quindi, in alcuni casi, dobbiamo avere accesso alla shell di sistemi, eseguire comandi ed eseguire configurazioni personalizzate. Fortunatamente, Docker ci fornisce la funzionalità per eseguire i comandi in contenitori in esecuzione.

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.

  • -I - questa opzione mantiene la stdin.
  • -T - genera uno pseudo tty
  • -u - Specifica il nome utente o l'UID.
  • -W - Directory di lavoro
  • -P - Assegna i privilegi estesi al comando.
  • -D - funziona in modalità distaccata.
  • -E - Imposta le variabili di ambiente.

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.