환경을 인식하는 HTTP 전송을 사용하는 컨테이너화된 Distribution 레지스트리에서는 S3 경로를 레지스트리 컨테이너에 전달합니다.

services:
  registry:
    environment:
      HTTP_PROXY: http://proxy.example.internal:8080
      HTTPS_PROXY: http://proxy.example.internal:8080
      NO_PROXY: localhost,127.0.0.1

이를 기존 image, 스토리지, 인증, volumes와 합치십시오. 이 조각은 완전한 레지스트리가 아닙니다. 프록시 이름은 해당 컨테이너에서 도달 가능해야 하고, 스킴은 프록시 리스너와 일치해야 합니다.

배포된 S3 드라이버와 전송을 확인하십시오. Distribution 2.8.3이 인용한 소스는 AWS SDK 세션을 사용합니다. 사용자 지정 드라이버나 전송은 다른 지원 구성이 필요할 수 있습니다.

연결구성하거나 조사할 주체
클라이언트 → 레지스트리레지스트리의 인바운드 HTTP 리스너와 클라이언트 경로
데몬 → image 원본Docker 데몬 프록시 설정
레지스트리 → S3레지스트리 프로세스의 스토리지 HTTP 전송

클라이언트 로그인 성공은 첫 번째 경로만 증명합니다. 스토리지 드라이버는 S3로 자체 요청을 보냅니다. 이전에 레지스트리 image를 가져온 데몬은 그 호출을 하지 않습니다.

blob 다운로드 중의 리디렉션도 확인하십시오. Distribution은 소비자를 객체 스토리지로 리디렉션할 수 있으며, 그러면 그 클라이언트에 S3 직접 도달 요구가 생깁니다. 레지스트리의 프록시를 구성해도 소비자는 구성되지 않습니다. 리디렉션 동작을 바꾸면 blob 트래픽의 흐름이 바뀌므로, 그 설정을 조정하기 전에 실패하는 발신자와 작업을 먼저 특정하십시오.

관련 글