Docker를 사용하는 컨테이너 레지스트리 에이전트 고급 구성

Docker를 사용한 Broker 컨테이너 레지스트리 에이전트 설치 지침은 Snyk Broker - 컨테이너 레지스트리 에이전트를 참조하십시오. Helm 방식에 대한 지침은 Helm을 사용하여 컨테이너 레지스트리용 Broker 설치를 참조하십시오.

컨테이너 레지스트리 에이전트 서버 HTTPS 구성

컨테이너 레지스트리 에이전트(CRA)는 기본적으로 HTTP 서버를 실행합니다. CRA는 로컬 연결을 위해 HTTPS 서버를 실행하도록 구성할 수 있습니다. 이를 위해서는 런타임에 Docker 컨테이너에 SSL 인증서와 개인 키를 제공해야 합니다.

예를 들어, 인증서 파일이 로컬의 ./private/container-registry-agent.crt./private/container-registry-agent.key에 있는 경우 폴더를 마운트하고 HTTPS_CERTHTTPS_KEY 환경 변수를 사용하여 이 파일을 Docker 컨테이너에 제공하십시오:

docker run --restart=always \
       -p 8081:8081 \
       -e SNYK_PORT=8081 \
       -e HTTPS_CERT=/private/container-registry-agent.crt \
       -e HTTPS_KEY=/private/container-registry-agent.key \
       snyk/container-registry-agent:latest

내부 인증서를 사용하는 컨테이너 레지스트리 및 Broker 클라이언트

기본적으로 컨테이너 레지스트리 에이전트는 컨테이너 레지스트리 및 Broker 클라이언트에 HTTPS 연결을 설정합니다. 컨테이너 레지스트리 또는 Broker 클라이언트가 내부 인증서(자체 CA 서명)를 제공하는 경우 CA 인증서를 컨테이너 레지스트리 에이전트에 제공할 수 있습니다. 예를 들어, CA 인증서가 ./private/ca.cert.pem에 있는 경우 폴더를 마운트하고 NODE_EXTRA_CA_CERTS 환경 변수를 사용하여 이를 Docker 컨테이너에 제공하십시오:

docker run --restart=always \
       -p 8081:8081 \
       -e SNYK_PORT=8081 \
       -e NODE_EXTRA_CA_CERTS=/private/ca.cert.pem \
       snyk/container-registry-agent:latest

리포지토리 목록 비활성화

일부 컨테이너 레지스트리는 카탈로그 엔드포인트(GET /v2/_catalog)를 지원하지 않거나 조직에서 이 엔드포인트에 대한 권한 제한이 있을 수 있습니다. SNYK_DISABLE_LIST_REPOS 환경 변수를 설정하여 리포지토리 목록을 비활성화할 수 있습니다.

활성화하면 레지스트리의 카탈로그 엔드포인트를 호출하는 대신 빈 목록이 반환됩니다. 이는 다음과 같은 경우에 유용합니다:

  • 카탈로그 엔드포인트를 지원하지 않는 컨테이너 레지스트리(예: GitHub Container Registry, GitLab Container Registry)

  • 카탈로그 엔드포인트에 대한 권한 제한이 있는 조직

  • 컨테이너 레지스트리에 대한 불필요한 API 호출 감소

Docker 배포

Docker 실행 명령에 환경 변수를 추가하십시오:

Helm 배포

Helm 값 파일에 다음을 추가하십시오:

Kubernetes 배포

배포 사양에 환경 변수를 추가하십시오:

Last updated