Como se conectar ao contêiner do Docker via SSH
- 678
- 139
- Mrs. Willie Beahan
Depois de instalar o Docker no Fedora, Almalinux, Manjaro ou alguma outra distro, é hora de instalar mais contêineres. Depois de ter um contêiner do Docker em funcionamento em um sistema Linux, uma das coisas que você provavelmente precisará fazer é executar comandos dentro do contêiner. Isso permite que você use o contêiner de maneira semelhante a como você faria com uma máquina física, exceto que o Docker fez a maior parte do trabalho de configuração para nós já.
Já existem dois comandos disponíveis que nos permitem executar comandos em um contêiner Docker. O primeiro é Docker Exec
, e o segundo comando, que nos permite anexar a um contêiner em execução, é Docker Anexo
. Esses comandos geralmente são suficientes, mas você pode se encontrar em um cenário em que prefere usar o SSH para se conectar ao contêiner do docker e gerenciá -lo.
Nem todos os recipientes do Docker são provisionados para executar SSH. Normalmente, os recipientes do Docker são muito leves e apenas programados para fazer uma coisa. No entanto, alguns contêineres do Docker permitirão SSH, e isso pode facilitar o gerenciamento do contêiner. Neste guia, veremos como se conectar a um contêiner do Docker via SSH do sistema host na linha de comando Linux.
Neste tutorial, você aprenderá:
- Como se conectar a um contêiner em execução via SSH
Categoria | Requisitos, convenções ou versão de software usada |
---|---|
Sistema | Qualquer distro Linux |
Programas | Docker |
Outro | Acesso privilegiado ao seu sistema Linux como raiz ou através do sudo comando. |
Convenções | # - requer que os comandos Linux sejam executados com privilégios root diretamente como usuário root ou por uso de sudo comando$ - Requer que os comandos do Linux sejam executados como um usuário não privilegiado regular |
Conecte -se ao contêiner do Docker via SSH
Para este exemplo, já instalamos o docker e uma imagem nginx usando o Docker Pull nginx
comando. Siga as instruções passo a passo abaixo para ver como determinamos o endereço IP do contêiner e depois use o comando ssh para conectar -se ao contêiner em execução.
- Primeiro, o contêiner do Docker precisa estar executando ativamente. Certifique -se de que você já começou usando o seguinte comando. Observe mais uma vez que estamos usando uma imagem nginx, mas você pode substituir o nome de sua própria imagem neste comando e comandos futuros.
$ Docker Run -nome nginx -d nginx
- Verifique se o seu contêiner está em execução, bem como o nome do seu contêiner, com este comando.
$ docker ps
Visualizando os contêineres do Docker atualmente em execução em nosso sistema - Agora podemos usar o seguinte comando para determinar o endereço IP do nosso contêiner nginx.
$ Docker Inspect -f " .Configurações de rede.Ipaddress "nginx
- No nosso caso, o contêiner nginx possui um endereço IP de
172.17.0.2
. Agora podemos tentar nos conectar a este endereço IP via SSH e a conta raiz.$ ssh [email protected]
Neste ponto, você se conectará com sucesso ao contêiner em execução ou receberá um erro de "conexão recusada". No caso de um erro, prossiga com as seguintes etapas para configurar um servidor SSH no contêiner.
- Se o SSH não estiver funcionando, precisamos garantir que o software esteja instalado no contêiner. Conecte -se ao contêiner com o seguinte comando.
$ Docker Exec -it Nginx /Bin /Bash
- Em seguida, instale SSH nele. Estamos usando
apt
Gerenciador de pacotes neste exemplo, mas pode ser necessário adaptar o comando se o seu contêiner estiver usando um gerenciador de pacotes diferente.# APT UPDATE && apt -y install OpenSsh -Server
- Em seguida, configure o contêiner para que possamos fazer login na conta raiz via SSH.
# echo "Permitrootlogin Sim" >>/etc/ssh/sshd_config
- Não se esqueça de alterar a senha raiz para que você possa fazer o login.
# passwd
- Finalmente, inicie o serviço SSH no contêiner.
# /etc /init.D/SSH Start
- Agora você poderá ser capaz de SSH da máquina host, especificando o endereço IP que você determinou anteriormente e usando a senha root que você acabou de configurar a senha para.
$ ssh [email protected]
Aqui determinamos o endereço IP do recipiente do docker que queremos ssh
Agora podemos ssh com sucesso no recipiente do Docker
Isso é tudo o que há para isso. Agora você pode se conectar ao seu contêiner em execução via SSH para executar comandos e gerenciá -lo. Claro, o método de usar Docker Exec
O comando deve continuar funcionando também e pode realizar a mesma coisa.
Pensamentos finais
Neste guia, vimos como se conectar a um contêiner em execução do sistema host via SSH. O Docker já nos dá várias maneiras de conectar a um contêiner, mas ter a capacidade de SSH em contêineres pode ser bom para algumas situações. A parte complicada é que a maioria dos contêineres ainda não possui SSH instalado, pois normalmente são configurados com os requisitos mínimos nus. Isso requer algumas etapas extras de nossa parte, mas como você viu aqui, não é tão difícil de fazer.
Tutoriais do Linux relacionados:
- Instalação do Manjaro Linux
- Guia para iniciantes do Manjaro Linux
- Manjaro Linux Windows 10 Boot dual
- Como migrar de CentOS para Almalinux
- Instale Manjaro no VirtualBox
- Instalação do Almalinux
- Como configurar o servidor e o cliente FTP/SFTP no Almalinux
- Coisas para instalar no Ubuntu 20.04
- Instale o Manjaro Architect Edition
- Crie Manjaro Linux inicializável USB
- « Configuração de ligação ao servidor DNS Linux
- Liste todos os diretórios e classifique por tamanho »