Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 8925|Resposta: 0

Contêiner Docker para acessar serviços de host externos

[Copiar link]
Publicado em 19/11/2019 10:10:01 | | | |
A rede padrão do contêiner docker é na forma de uma ponte (na mesma LAN do host, mas usando um IP LAN separado); quando o programa está rodando no ambiente de produção, basta configurar o endereço de serviço correspondente para se conectar ao banco de dados, redis, etc.

Em um ambiente de desenvolvimento, se o serviço roda no docker e o banco de dados roda localmente, configurar 127.0.0.1 não é fácil de usar.

Isso pode ser resolvido de duas maneiras.

Solução 1:

Trate a máquina host e o container como duas máquinas separadas, e configure o IP LAN ou IP público do host ao configurar o endereço.

Solução 2:

Escreva o endereço do host diretamente como: host.docker.internalO segundo método requer uma versão docker superior à 18.03 e deve estar disponível para Windows e Mac

Para testar se esses dois métodos podem acessar o host, você pode executar diretamente uma imagem com o docker para pingar a linha de comando:

Instale a ferramenta ping em um container construído com Docker
https://www.itsvse.com/thread-8966-1-1.html
(Fonte: Architect_Programmer)


Como você pode ver na imagem acima, acesso por contêinerhost.docker.internalVocê pode acessar o serviço do host, verificando o arquivo /etc/hosts, verá que não há redirecionamento de nome de domínio e você não conhece o princípio específico do docker.

Tanto o host quanto o container podem acessar os serviços do host via host.docker.internal, mas o endereço retornado pelo comando ping é diferente, da seguinte forma:









Anterior:Exemplos explicam o que são penetração de cache, avalanche de cache e quebra de cache Reddis
Próximo:Erro "Dependência circular de componente detectada" do Autofac resolvido
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com