docker scout watch
docker scout watch
docker scout watch는 레지스트리의 저장소를 지켜보다가 새 이미지와 인덱스를 Docker Scout로 푸시하는 명령이에요. 레지스트리에 새 이미지가 올라올 때마다 자동으로 분석하고 싶을 때 써요.
출처: 문서
본문
docker scout watch 명령은 레지스트리의 저장소를 지켜보다가 이미지 또는 이미지 인덱스를 Docker Scout로 푸시해요.
사용법 (Usage)
docker scout watch
옵션 (Options)
| 옵션 | 기본값 | 설명 |
|---|---|---|
--all-images |
watch 명령이 실행되는 동안 푸시된 이미지만이 아니라 모든 이미지를 푸시해요 | |
--dry-run |
이미지를 지켜보고 준비만 하고 푸시하지 않아요 | |
--interval |
60 |
검사 사이의 간격(초)이에요 |
--org |
이미지가 푸시될 Docker 조직의 namespace예요 | |
--refresh-registry |
매 실행마다 레지스트리의 저장소 목록을 새로고침해요. --registry와 함께만 사용해요 |
|
--registry |
지켜볼 레지스트리예요 | |
--repository |
지켜볼 저장소예요 | |
--sbom |
true |
SBOM을 생성하고 업로드해요 |
--tag |
지켜볼 태그를 매칭할 정규 표현식이에요 | |
--workers |
3 |
동시 작업자 수예요 |
예제 (Examples)
두 저장소에서 새 이미지를 지켜보고 푸시하기
$ docker scout watch --org my-org --repository registry-1.example.com/repo-1 --repository registry-2.example.com/repo-2
특정 태그의 이미지만 푸시하기
$ docker scout watch --org my-org --repository registry.example.com/my-service --tag latest
레지스트리의 모든 저장소 지켜보기
$ docker scout watch --org my-org --registry registry.example.com
새 이미지만이 아니라 모든 이미지 푸시하기
$ docker scout watch --org my-org --repository registry.example.com/my-service --all-images
Artifactory 통합 구성하기
다음 예제는 Artifactory가 새 이미지 이벤트를 푸시할 웹 훅 엔드포인트를 만드는 방법이에요.
$ export DOCKER_SCOUT_ARTIFACTORY_API_USER=user
$ export DOCKER_SCOUT_ARTIFACTORY_API_PASSWORD=password
$ export DOCKER_SCOUT_ARTIFACTORY_WEBHOOK_SECRET=foo
$ docker scout watch --registry "type=artifactory,registry=example.jfrog.io,api=https://example.jfrog.io/artifactory,include=*/frontend*,exclude=*/dta/*,repository=docker-local,port=9000,subdomain-mode=true" --refresh-registry
이렇게 하면 9000 포트에서 HTTP 서버가 시작되어 모든 컴포넌트 웹 훅 이벤트를 받고, 선택적으로 HMAC 서명을 검증해요.
Harbor 통합 구성하기
다음 예제는 Harbor가 새 이미지 이벤트를 푸시할 웹 훅 엔드포인트를 만드는 방법이에요.
$ export DOCKER_SCOUT_HARBOR_API_USER=admin
$ export DOCKER_SCOUT_HARBOR_API_PASSWORD=password
$ export DOCKER_SCOUT_HARBOR_WEBHOOK_AUTH="token foo"
$ docker scout watch --registry 'type=harbor,registry=demo.goharbor.io,api=https://demo.goharbor.io,include=*/foo/*,exclude=*/bar/*,port=9000' --refresh-registry
이렇게 하면 9000 포트에서 HTTP 서버가 시작되어 모든 컴포넌트 웹 훅 이벤트를 받고, 선택적으로 HMAC 서명을 검증해요.
Nexus 통합 구성하기
다음 예제는 Sonatype Nexus 통합을 구성하는 방법을 보여 줘요.
$ export DOCKER_SCOUT_NEXUS_API_USER=admin
$ export DOCKER_SCOUT_NEXUS_API_PASSWORD=admin124
$ docker scout watch --registry 'type=nexus,registry=localhost:8082,api=http://localhost:8081,include=*/foo/*,exclude=*/bar/*,"repository=docker-test1,docker-test2"' --refresh-registry
이렇게 하면 docker-test1과 docker-test2라는 Nexus 저장소 중 */foo/* include와 */bar/* exclude glob 패턴에 맞는 모든 이미지와 태그를 수집해요. Nexus가 새 이미지 이벤트를 푸시할 웹 훅 엔드포인트를 만들 수도 있어요.
$ export DOCKER_SCOUT_NEXUS_API_USER=admin
$ export DOCKER_SCOUT_NEXUS_API_PASSWORD=admin124
$ export DOCKER_SCOUT_NEXUS_WEBHOOK_SECRET=mysecret
$ docker scout watch --registry 'type=nexus,registry=localhost:8082,api=http://localhost:8081,include=*/foo/*,exclude=*/bar/*,"repository=docker-test1,docker-test2",port=9000' --refresh-registry
이렇게 하면 9000 포트에서 HTTP 서버가 시작되어 모든 컴포넌트 웹 훅 이벤트를 받고, 선택적으로 HMAC 서명을 검증해요.
다른 OCI 레지스트리 통합 구성하기
다음 예제는 _catalog 엔드포인트를 구현하는 OCI 레지스트리를 통합하는 방법을 보여 줘요.
$ docker scout watch --registry 'type=oci,registry=registry.example.com,include=*/scout-artifact-registry/*'