Nexus Repository - Docker를 사용하여 설치 및 구성

circle-info

기능 가용성

Nexus Repository Manager와의 통합은 엔터프라이즈(Enterprise) 플랜에서만 사용할 수 있습니다. 자세한 내용은 플랜 및 가격 책정arrow-up-right을 참조하십시오.

설치하기 전에 사전 준비 사항Docker를 사용한 설치에 대한 일반 지침을 검토하십시오.

이 통합은 온프레미스(On-premise) Nexus Repository Manager 배포와 안전한 연결을 보장하는 데 유용합니다.

지원되는 환경 및 버전, 사용자 권한을 포함하여 브로커되지 않은 Nexus Repository Manager와의 통합에 대한 정보는 Nexus Repository Manager 설정을 참조하십시오. Nexus Container Registry와 브로커된 통합에 대한 정보는 Snyk Broker - 컨테이너 레지스트리 에이전트를 참조하십시오.

Nexus 플러그인에 사용할 Broker 구성

Nexus 3 및 Nexus 2 구성을 위한 Docker Pull

Nexus 3 배포에서 Broker 클라이언트를 사용하려면 docker pull snyk/broker:nexus를 실행하십시오.

Nexus 2 배포에서 Broker 클라이언트를 사용하려면 docker pull snyk/broker:nexus2를 실행하십시오.

환경 변수의 정의는 Nexus Repository - Snyk Broker용 환경 변수를 참조하십시오.

Nexus 3 및 Nexus 2 통합용 Broker 클라이언트 설정을 위한 Docker 실행 명령

circle-info

지역별 멀티 테넌트 설정

설치 시 스크립트에 BROKER_SERVER_URL을 설정하는 명령을 추가해야 합니다. 이는 데이터가 호스팅되는 지역의 Broker 서버 URL입니다. 사용할 명령과 URL은 Broker URL을 참조하십시오.

다음 명령을 복사하여 Nexus 3와 함께 사용할 전체 구성이 완료된 Broker 클라이언트를 설정하십시오. 관련 구성을 제공하여 Docker 컨테이너를 실행할 수 있습니다.

docker run --restart=always \
           -p 7341:7341 \
           -e BROKER_TOKEN=secret-broker-token \
           -e BROKER_SERVER_URL=<broker-region-url> \
           -e BASE_NEXUS_URL=https://[<user>:<pass>@]<your.nexus.hostname> \
           -e BROKER_CLIENT_VALIDATION_URL=https://<your.nexus.hostname>/service/rest/v1/status[/check] \
           -e RES_BODY_URL_SUB=https://<your.nexus.hostname>/repository \
       snyk/broker:nexus

다음 명령을 복사하여 Nexus 2와 함께 사용할 전체 구성이 완료된 Broker 클라이언트를 설정하십시오. 관련 구성을 제공하여 Docker 컨테이너를 실행할 수 있습니다.

Nexus UI의 Administration 아래 서버 탭에서 마지막에 슬래시 없이 Base URL 항목을 선택하여 BASE_NEXUS_URL을 찾을 수 있습니다. 이는 일반적으로 /nexus로 끝나지만, 기본값이 아닌 배포의 경우 다를 수 있습니다. 사용자 지정 기본 URL이 있는 경우 리포지토리가 있는 URL을 가리키도록 NEXUS_URL 환경 변수도 설정해야 합니다. 기본적으로 이는 /nexus/content로 구성되지만 기본 URL과 유사한 형식을 따라야 합니다.

Broker 클라이언트 컨테이너 시작 및 Nexus Repository Manager 연결 확인

Broker 클라이언트 구성을 붙여넣어 Broker 클라이언트 컨테이너를 시작하십시오.

Broker 클라이언트의 /systemcheck 엔드포인트에 요청을 보내 연결 상태를 확인하십시오.

예: curl http://172.17.0.2:7341/systemcheck

성공 시 다음과 같은 형식의 출력이 표시됩니다.

{"brokerClientValidationUrl":"https://acme.com/service/rest/v1/status","brokerClientValidationMethod":"GET","brokerClientValidationTimeoutMs":5000,"brokerClientValidationUrlStatusCode":200,"ok":true}

또는 실패 시 다음과 같은 형식의 출력이 표시됩니다.

{"brokerClientValidationUrl":"https://acme.com/service/rest/v1/status","brokerClientValidationMethod":"GET","brokerClientValidationTimeoutMs":5000,"ok":false,"error":"ETIMEDOUT"}

Last updated