Docker Scout를 Circle CI와 통합하기
Docker Scout를 Circle CI와 통합하기
다음 예시는 CircleCI에서 트리거될 때 실행돼요. 트리거되면 "docker/scout-demo-service:latest" 이미지와 태그를 체크아웃하고 Docker Scout를 사용해 CVE 보고서를 만들어요.
.circleci/config.yml 파일에 다음을 추가하세요.
먼저 나머지 워크플로를 설정하세요. YAML 파일에 다음을 추가하세요.
version: 2.1
jobs:
build:
docker:
- image: cimg/base:stable
environment:
IMAGE_TAG: docker/scout-demo-service:latest
이것은 워크플로가 사용하는 컨테이너 이미지와 이미지용 환경 변수를 정의해요.
워크플로의 단계를 정의하려면 YAML 파일에 다음을 추가하세요.
steps:
# 저장소 파일 체크아웃 (Checkout the repository files)
- checkout
# `docker` 명령을 실행할 별도 Docker 환경 설정 (Set up a separate Docker environment to run `docker` commands in)
- setup_remote_docker:
version: 20.10.24
# Docker Scout 설치 및 Docker Hub 로그인 (Install Docker Scout and login to Docker Hub)
- run:
name: Install Docker Scout
command: |
env
curl -sSfL https://raw.githubusercontent.com/docker/scout-cli/main/install.sh | sh -s -- -b /home/circleci/bin
echo $DOCKER_HUB_PAT | docker login -u $DOCKER_HUB_USER --password-stdin
# Docker 이미지 빌드 (Build the Docker image)
- run:
name: Build Docker image
command: docker build -t $IMAGE_TAG .
# Docker Scout 실행 (Run Docker Scout)
- run:
name: Scan image for CVEs
command: |
docker scout cves $IMAGE_TAG --exit-code --only-severity critical,high
이것은 저장소 파일을 체크아웃한 다음 명령을 실행할 별도 Docker 환경을 설정해요.
Docker Scout를 설치하고, Docker Hub에 로그인하고, Docker 이미지를 빌드한 다음 Docker Scout를 실행해 CVE 보고서를 생성해요. critical 또는 high 심각도 취약점만 보여 줘요.
마지막으로 워크플로 이름과 워크플로의 작업을 추가하세요.
workflows:
build-docker-image:
jobs:
- build