Executivo do docker no contêiner como raiz

Executivo do docker no contêiner como raiz
Docker é uma poderosa ferramenta de contêinerização que permite aos usuários criar aplicativos isolados e independentes. Os contêineres do Docker carregam o sistema operacional base, os aplicativos e todos os pacotes necessários. Portanto, em alguns casos, precisamos ter acesso ao shell dos sistemas, executar comandos e executar configurações personalizadas. Felizmente, o Docker nos fornece a funcionalidade para executar comandos em contêineres em execução.

Este tutorial tem como objetivo mostrar como trabalhar com o comando Docker Exec para executar comandos em contêineres em execução.

Uso básico

Trabalhar com o Docker Exec é muito simples. Começamos chamando o comando do Docker Exec, seguido pelo nome ou ID do contêiner e pelo comando para executar.

Por exemplo, para executar o comando Echo no contêiner Debian, usamos o comando como:

$ Docker Exec Debian Echo Hello

O comando gera uma concha do contêiner Debian e executa o comando Echo. Um exemplo de saída aparece abaixo:

Para obter o nome ou um ID dos contêineres em execução, use o comando:

$ docker ps

Opções do Docker Exec

O comando Docker EXEC suporta várias opções para modificar a funcionalidade dos comandos. Ele suporta as seguintes funções.

  • -eu - esta opção mantém o stdin.
  • -t - gera um pseudo -tty
  • -u - especifica o nome de usuário ou uid.
  • -W - diretório de trabalho
  • -P - aloca privilégios estendidos ao comando.
  • -D - é executado no modo isolado.
  • -E - define variáveis ​​de ambiente.

Docker Exec sh

Na maioria dos casos, precisamos de uma instância do shell no contêiner para executar comandos brutos. Para fazer isso, usamos o comando do Docker Exec.

$ Docker Exec Debian -i -t /Bin /Bash

O comando acima lança uma concha interativa. É bom garantir que exista executável Bash antes do comando em execução.

Se Bash ou qualquer shell que você deseja usar não estiver disponível, use sh no comando abaixo:

$ Docker Exec -it /bin /sh

Como você pode ver, você tem uma sessão interativa de shell, onde pode executar comandos.

Executivo como root

Para executar o comando como root, use a opção -u. A opção requer um nome de usuário ou uid do usuário. Por exemplo:

$ Docker Exec -u 0 Debian Whoami
$ root

No comando acima, usamos o UID do usuário root para executar o comando whoami como root.

Para usar o nome de usuário em vez do usuário UID, use o comando:

$ Docker Exec -U Root Debian Whoami
$ root

O comando acima pode ajudar quando você deseja solucionar ou executar tarefas que exigem privilégios elevados.

Conclusão

Isso é tudo para o comando do Docker Exec.

Discutimos usando o Docker Exec para executar comandos em seus contêineres em execução e gerar uma sessão de shell. Finalmente, abordamos como executar comandos como root usando nome de usuário e uid.