외부 HTTP 프록시는 Docker의 api 서비스 이름을 알 필요가 없습니다. http://api:8080/의 경우 프록시가 다음 연결을 열기 때문에 앱 컨테이너 내부에서 조회가 성공해도 프록시의 DNS 관점이 증명되지는 않습니다.

의도한 직접 액세스를 위해 해당 컨테이너의 환경에 예외를 추가하세요.

environment:
  http_proxy: http://proxy.example:8080
  https_proxy: http://proxy.example:8080
  no_proxy: api

api에 대한 직접 요청은 컨테이너의 경로와 내장 리졸버를 사용합니다. 두 컨테이너에는 여전히 사용자 정의 공유 네트워크가 필요하며 서비스는 8080에서 수신해야 합니다. 자격을 갖춘 외부 요청은 프록시를 유지합니다. 해당 공용 대상이 공용 중개자를 사용할 수 있다면 HTTP 프록시 목록이 계정 없는 프록시 URL의 후보를 제공합니다. api는 직접 예외에 남겨 두세요.

다시 만든 컨테이너에 예상치 못한 변수가 남아 있으면 Docker 클라이언트의 config.json proxies 섹션을 확인하세요. 환경 값이 주입될 수 있습니다. 의도한 항목을 변경하고 일반 흐름으로 영향을 받은 컨테이너를 다시 만들면서 관련 없는 구성은 보존하세요.

관련 글