Se o Testcontainers falhar ao baixar uma imagem, as configurações withEnv do futuro contêiner não podem ajudar. É o daemon do Docker que faz esse download a partir do registro antes de o contêiner existir.

Operação que falhouConfiguração de proxy a verificar
Download da imagemO daemon do Docker usado pelo teste e a rota dele até o registro
Download dentro do contêiner em execuçãoAs entradas que a aplicação suporta nesse contêiner
O teste Java se conecta ao Docker ou à aplicaçãoO cliente Java que faz essa conexão

Para o segundo caso, adicione variáveis de ambiente à definição GenericContainer existente:

container
    .withEnv("http_proxy", "http://proxy.example:8080")
    .withEnv("https_proxy", "http://proxy.example:8080");

Se um download dentro do contêiner puder usar um endpoint HTTP público, preencha esses valores a partir da lista de proxies HTTP. O programa na imagem precisa ler essas variáveis. Elas não transformam um socket de banco de dados qualquer em tráfego de proxy HTTP. O endpoint também precisa ser alcançável a partir do contêiner: o 127.0.0.1 dele aponta para si mesmo.

Para o primeiro caso, encontre o ambiente Docker que o Testcontainers realmente usa. Um daemon remoto ou o Docker Desktop pode obter a configuração de uma fonte diferente do dockerd local. Mantenha os serviços de teste locais e a API do Docker nas rotas pretendidas ao adicionar um proxy padrão amplo.

Artigos relacionados