Testcontainers가 이미지를 풀하다 실패하면 앞으로 만들어질 컨테이너의 withEnv 설정은 도움이 되지 않습니다. 그 레지스트리 다운로드는 컨테이너가 존재하기 전에 Docker 데몬이 수행합니다.

실패한 작업확인해야 할 프록시 구성
이미지 풀테스트가 사용하는 Docker 데몬과 그 레지스트리 경로
실행 중인 컨테이너 내부의 다운로드해당 컨테이너에서 애플리케이션이 지원하는 입력
Java 테스트가 Docker 또는 앱에 연결그 연결을 만드는 Java 클라이언트

두 번째 경우에는 기존 GenericContainer 정의에 환경 변수를 추가하세요:

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

컨테이너 내부 다운로드가 공용 HTTP 엔드포인트를 사용해도 된다면, 해당 값을 HTTP 프록시 목록에서 채우세요. 이미지 안의 프로그램이 그 변수를 읽어야 합니다. 그 변수가 임의의 데이터베이스 소켓을 HTTP 프록시 트래픽으로 바꾸지는 않습니다. 엔드포인트는 컨테이너에서 도달할 수 있어야 합니다. 127.0.0.1는 자기 자신을 가리킵니다.

첫 번째 경우에는 Testcontainers가 실제로 사용하는 Docker 환경을 찾으세요. 원격 데몬이나 Docker Desktop은 로컬 dockerd와 다른 원본에서 구성을 가져올 수 있습니다. 광범위한 프록시 기본값을 추가할 때는 로컬 테스트 서비스와 Docker API를 의도한 경로에 유지하세요.

관련 글