Este guia mostrará como identificar o IP de um contêiner Docker, verificar se ele está escutando em uma porta específica e criar um túnel SSH para acessá-lo diretamente de sua máquina local.
No servidor, você precisa descobrir o IP do contêiner dentro da rede Docker específica.
Comando:
docker network inspect xptoO que acontece?
- Esse comando inspeciona a rede chamada
xpto. - Na saída, procure a seção
"Containers"e anote o IP atribuído ao contêiner desejado.
Depois de identificar o IP do contêiner, teste se ele está respondendo na rede Docker. Substitua [PORTA_DO_SERVIÇO] pela porta que o contêiner está escutando (exemplo: 80 ou 8080).
Comando:
curl 172.18.0.2:[PORTA_DO_SERVIÇO]Exemplo:
curl 172.18.0.2:8080O que acontece?
- Se o serviço no contêiner estiver ativo e respondendo, o comando exibirá o conteúdo retornado pelo serviço.
- Caso não haja resposta, verifique se a porta e o IP do contêiner estão corretos e se o serviço está em execução.
Com o IP do contêiner e a porta do serviço confirmados, crie um túnel SSH para acessar o contêiner diretamente da sua máquina local. Substitua os valores entre colchetes com suas informações específicas:
[PORTA_LOCAL]: Porta que você usará localmente para acessar o contêiner.[PORTA_DO_SERVIÇO]: Porta onde o serviço está rodando no contêiner.[USUARIO]: Nome de usuário para SSH no servidor.[IP_SERVIDOR]: Endereço IP do servidor onde o Docker está executando.
Comando:
ssh -L [PORTA_LOCAL]:172.18.0.2:[PORTA_DO_SERVIÇO] [USUARIO]@[IP_SERVIDOR]Exemplo:
Se o contêiner está na porta 8080 e você quer acessá-lo pela porta local 8080:
ssh -L 8080:172.18.0.2:8080 user@192.168.1.100O que acontece?
- Esse comando cria um túnel SSH que redireciona a porta local especificada para o IP do contêiner no servidor remoto.
- Agora você pode acessar o serviço no contêiner em
http://localhost:[PORTA_LOCAL]no seu navegador ou ferramentas locais.
- Use
docker network inspectpara encontrar o IP do contêiner. - Verifique se o contêiner está escutando na porta desejada com
curl. - Crie um túnel SSH para redirecionar o tráfego local para o contêiner usando
ssh -L.
Este processo permite acesso seguro e fácil a um serviço em execução dentro de um contêiner Docker, mesmo que ele esteja em um servidor remoto.