DNS específico para Java
Você também pode substituir os servidores DNS especificamente em seu aplicativo usando:
sun.net.spi.nameservice.nameservers=<server1_ipaddr,server2_ipaddr ...>
Por link
Como muitas organizações, temos um grande espaço de infraestrutura interna mapeada por trás dos nomes DNS internos (int.organization.com). Esse espaço para nome DNS é configurado em uma configuração DNS dividida, na qual os dispositivos do nosso firewall podem usar nossos servidores DNS para resolver os nomes internos, e os sistemas externos não podem resolvê-los.
À medida que nossas equipes expandem o uso do AppEngine, estamos tendo problemas para encontrar um padrão em que possamos continuar a aproveitar as entradas de DNS internas / protegidas (config.int.organization.com) em vez de expor inadvertidamente nossa infraestrutura ao DNS público.
Normalmente em instâncias de nuvem (VMs) simplesmente sobrescrevemos o /etc/resolv.conf para usar nossos servidores DNS internos (sobre VPN). Isso funciona muito bem.
Para o AppEngine (VMs gerenciadas) e o mecanismo de contêiner, parece que não temos um recurso para substituir o resolv.conf (seu mapeado em somente leitura a partir do host do docker). Analisamos brevemente a substituição de servidores DNS em Java e não conseguimos provar essa funcionalidade.
O uso de servidores DNS internos / privados não é apenas um padrão compatível com o AppEngine / ContainerEngine? Quais padrões as pessoas estão implementando para proteger sua infraestrutura / nomenclatura?
DNS específico para Java
Você também pode substituir os servidores DNS especificamente em seu aplicativo usando:
sun.net.spi.nameservice.nameservers=<server1_ipaddr,server2_ipaddr ...>
Por link
Você pode usar diretivas no Dockerfile de uma Flexible Environment (uma vez "VM gerenciada") para editar arquivos do sistema, como /etc/resolv.conf.