docker scout push 명령을 사용하여 Docker 이미지를 Docker Scout 에 푸시하는 방법

DockerBeginner
지금 연습하기

소개

이 랩에서는 docker scout push 명령을 사용하여 Docker 이미지를 Docker Scout 에 푸시하는 방법을 배우게 됩니다. Docker Scout 는 컨테이너 이미지의 보안 상태를 이해하고 개선하는 데 도움이 되는 서비스입니다.

기본 Docker Scout 조직에 이미지를 푸시하고, --org 플래그를 사용하여 특정 조직에 이미지를 푸시하고, Software Bill of Materials (SBOM) 을 생성하면서 이미지를 푸시하고, 이미지를 실제로 푸시하지 않고 어떤 일이 일어날지 확인하기 위해 푸시 작업의 드라이 런을 수행하는 방법을 살펴보겠습니다.

Docker Scout 에 이미지 푸시하기

이 단계에서는 Docker 이미지를 Docker Scout 에 푸시하는 방법을 배우게 됩니다. Docker Scout 는 컨테이너 이미지의 보안 상태를 이해하고 개선하는 데 도움이 되는 서비스입니다. 이미지를 푸시하기 전에 로컬에서 Docker 이미지를 빌드하거나 풀 (pull) 해야 합니다.

먼저, 이 단계에서 사용할 샘플 이미지를 풀해 보겠습니다. Docker Hub 에서 hello-world 이미지를 사용합니다.

docker pull hello-world

이미지가 풀되고 다운로드되고 있음을 나타내는 출력을 볼 수 있습니다.

Using default tag: latest
latest: Pulling from library/hello-world
...
Status: Downloaded newer image for hello-world:latest
docker.io/library/hello-world:latest

이제 이미지가 있으므로 Docker Scout 에 푸시할 수 있습니다. 이렇게 하려면 docker scout push 명령을 사용하고 이미지 이름과 태그를 입력합니다.

docker scout push hello-world:latest

이미지가 Docker Scout 에 푸시되고 분석되고 있음을 나타내는 다음과 유사한 출력을 볼 수 있습니다.

Analyzing image hello-world:latest...
...
Image hello-world:latest pushed to Docker Scout.

이 명령은 hello-world:latest 이미지를 기본 Docker Scout 조직에 푸시합니다. 그러면 Docker Scout 는 이미지의 취약점 및 기타 보안 문제를 분석합니다.

Docker Scout 에서 특정 조직에 이미지 푸시하기

이 단계에서는 Docker Scout 내의 특정 조직에 Docker 이미지를 푸시하는 방법을 배우게 됩니다. 이는 여러 조직에 속해 있거나 Docker Scout 에서 이미지를 다른 조직 구조로 분류하려는 경우 유용합니다.

특정 조직에 이미지를 푸시하려면 --org 플래그를 사용하고 조직 이름을 입력합니다. hello-world:latest 이미지를 다시 사용하고 가상의 조직인 my-org에 푸시해 보겠습니다. 참고: my-org를 실제로 사용하려는 조직 이름으로 바꾸십시오. 이 랩에서는 예시로 my-org를 사용합니다.

docker scout push hello-world:latest --org my-org

이전 단계와 유사한 출력을 볼 수 있지만, 이번에는 이미지가 지정된 조직에 푸시되고 있음을 나타냅니다.

Analyzing image hello-world:latest...
...
Image hello-world:latest pushed to Docker Scout organization my-org.

이 명령은 Docker Scout 에 hello-world:latest 이미지를 my-org 조직과 연결하도록 지시합니다. 이는 특정 팀 또는 프로젝트의 컨텍스트 내에서 이미지를 관리하고 볼 때 도움이 됩니다.

이미지 푸시 및 SBOM 생성

이 단계에서는 Docker 이미지를 Docker Scout 에 푸시하고 동시에 해당 이미지에 대한 SBOM(Software Bill of Materials) 을 생성하는 방법을 배우게 됩니다. SBOM 은 소프트웨어 구성 요소를 구성하는 재료의 공식 목록입니다. 이는 소프트웨어의 보안 및 라이선스를 이해하는 데 필수적인 도구입니다.

이미지를 푸시하는 동안 SBOM 을 생성하려면 docker scout push 명령과 함께 --sbom 플래그를 사용합니다. hello-world:latest 이미지를 다시 사용하고 SBOM 을 생성하면서 푸시해 보겠습니다.

docker scout push hello-world:latest --sbom

이미지가 분석되고 SBOM 이 생성되어 이미지와 함께 푸시되고 있음을 나타내는 출력을 볼 수 있습니다.

Analyzing image hello-world:latest...
Generating SBOM for hello-world:latest...
...
Image hello-world:latest pushed to Docker Scout with SBOM.

--sbom 플래그는 푸시 프로세스 중에 Docker Scout 에 이미지에 대한 SBOM 을 생성하도록 지시합니다. 이 SBOM 은 Docker Scout 에서 이미지와 연결되어 이미지 내의 구성 요소에 대한 자세한 정보를 제공합니다.

드라이 런으로 이미지 푸시

이 단계에서는 Docker 이미지를 Docker Scout 에 푸시할 때 "드라이 런 (dry run)"을 수행하는 방법을 배우게 됩니다. 드라이 런을 사용하면 실제로 푸시 작업을 수행하지 않고 이미지를 푸시할 경우 어떤 일이 일어날지 확인할 수 있습니다. 이는 명령을 테스트하고 실제 푸시를 수행하기 전에 올바르게 구성되었는지 확인하는 데 유용합니다.

드라이 런을 수행하려면 docker scout push 명령과 함께 --dry-run 플래그를 사용합니다. hello-world:latest 이미지를 다시 사용하고 푸시 작업의 드라이 런을 수행해 보겠습니다.

docker scout push hello-world:latest --dry-run

명령이 푸시 작업을 시뮬레이션하고 있음을 나타내는 출력을 볼 수 있습니다. 이미지를 분석하고 잠재적으로 SBOM 을 생성하는 등 수행할 단계를 표시하지만 실제로 이미지를 Docker Scout 에 업로드하지는 않습니다.

Analyzing image hello-world:latest...
Dry run: Image hello-world:latest would be pushed to Docker Scout.

--dry-run 플래그는 Docker Scout 저장소에 영향을 주지 않고 docker scout push 명령과 해당 옵션을 확인하는 안전한 방법입니다.

요약

이 랩에서는 docker scout push 명령을 사용하여 Docker 이미지를 보안 분석을 위해 Docker Scout 에 푸시하는 방법을 배웠습니다. 먼저 샘플 이미지를 풀링한 다음 기본 Docker Scout 조직에 성공적으로 푸시했습니다.

또한 --org 플래그를 사용하여 Docker Scout 내의 특정 조직에 이미지를 푸시하는 방법을 탐구하여 다양한 조직 구조에서 이미지를 관리하기 위한 명령의 유연성을 보여주었습니다.