DNS do serviço Docker e desvio de proxy com no_proxy
Use no_proxy para um serviço interno pretendido quando o proxy HTTP externo não consegue resolver nem alcançar essa rede.
Um proxy HTTP externo não precisa conhecer o nome do serviço api do Docker. Para http://api:8080/, o proxy abre a conexão seguinte, portanto uma resolução bem-sucedida dentro do contêiner do app não prova a visão de DNS do proxy.
Para o acesso direto pretendido, adicione a exceção ao ambiente desse contêiner:
environment:
http_proxy: http://proxy.example:8080
https_proxy: http://proxy.example:8080
no_proxy: apiAs solicitações diretas para api usam a rota do contêiner e o resolvedor incorporado. Os dois contêineres ainda precisam da rede compartilhada definida pelo usuário e o serviço deve escutar na porta 8080. As solicitações externas elegíveis mantêm o proxy. Se esses destinos públicos puderem usar um intermediário público, a lista de proxies HTTP fornece candidatos para as URLs de proxy sem conta; mantenha api entre as exceções diretas.
Se contêineres recriados mantiverem variáveis inesperadas, inspecione a seção config.json proxies do cliente Docker, que pode injetar valores de ambiente. Altere a entrada pretendida e recrie os contêineres afetados pelo fluxo normal, preservando a configuração não relacionada.