docker trust inspect 명령을 사용하여 이미지 신뢰 정보 검사 방법

DockerBeginner
지금 연습하기

소개

이 랩에서는 docker trust inspect 명령을 사용하여 Docker 이미지와 관련된 신뢰 정보를 검사하는 방법을 배우게 됩니다. 단일 서명된 및 서명되지 않은 이미지 태그뿐만 아니라, 레지스트리 내의 모든 서명된 태그에 대한 신뢰 데이터를 검사하는 방법을 탐구할 것입니다.

실습을 통해 디지털 서명을 검사하여 이미지의 무결성과 게시자를 확인하는 실질적인 경험을 얻게 됩니다. docker trust inspect 명령의 출력을 해석하고, 서명된 이미지와 서명되지 않은 이미지 간의 신뢰 정보 차이점을 이해하는 방법을 배우게 됩니다. 마지막으로, 여러 이미지에 대한 신뢰 정보를 검사하고 사람이 읽기 쉬운 형식으로 출력을 보는 방법을 알게 될 것입니다.

단일 서명된 이미지 태그의 신뢰 정보 검사

이 단계에서는 docker trust inspect 명령을 사용하여 단일 서명된 이미지 태그에 대한 신뢰 정보를 검사하는 방법을 배우게 됩니다. Docker Content Trust 를 사용하면 레지스트리에서 가져온 이미지의 무결성과 게시자를 확인할 수 있습니다.

먼저, 서명된 이미지를 가져와 보겠습니다. Docker Content Trust 테스트를 위해 특별히 설계된 docker/trusttest 이미지를 사용합니다.

docker pull docker/trusttest:latest

이미지를 가져오는 것을 나타내는 출력을 볼 수 있습니다.

이제 이 특정 이미지 태그에 대한 신뢰 정보를 검사할 수 있습니다. docker trust inspect 명령이 이 목적으로 사용됩니다.

docker trust inspect docker/trusttest:latest

이 명령의 출력은 이미지 태그와 관련된 서명에 대한 세부 정보를 보여줍니다. 여기에는 서명자와 해당 키가 포함됩니다. 이미지가 서명된 경우 서명에 대한 정보를 볼 수 있습니다. 서명되지 않은 경우 출력은 신뢰 데이터가 발견되지 않았음을 나타냅니다.

서명된 레지스트리 내 서명되지 않은 이미지 태그의 신뢰 정보 검사

이 단계에서는 서명된 이미지를 포함하는 레지스트리 내의 서명되지 않은 이미지 태그에 대한 신뢰 정보를 검사하는 방법을 배우게 됩니다. 이는 레지스트리에 서명된 태그가 있더라도 개별 서명되지 않은 태그에는 신뢰 정보가 없음을 보여줍니다.

docker/trusttest 레지스트리를 계속 사용합니다. 이전 단계에서는 서명된 latest 태그를 검사했습니다. 이제 동일한 레지스트리 내에서 서명되지 않은 것으로 알려진 태그를 검사해 보겠습니다. 이 목적으로 unsigned 태그를 사용합니다.

먼저, unsigned 태그를 가져오려고 시도해 보겠습니다.

docker pull docker/trusttest:unsigned

이미지를 가져오는 것을 나타내는 출력을 볼 수 있습니다.

이제 docker trust inspect 명령을 사용하여 unsigned 태그에 대한 신뢰 정보를 검사해 보겠습니다.

docker trust inspect docker/trusttest:unsigned

이 명령을 실행하면 이 특정 태그에 대한 신뢰 데이터가 발견되지 않았음을 나타내는 출력을 볼 수 있습니다. 이는 서명된 태그가 있는 레지스트리에 있음에도 불구하고 unsigned 태그 자체에는 유효한 서명이 없기 때문입니다. 이는 Docker Content Trust 가 태그별로 작동한다는 것을 강조합니다.

레지스트리 내 모든 서명된 태그의 신뢰 정보 검사

이 단계에서는 특정 레지스트리 내의 모든 서명된 이미지 태그에 대한 신뢰 정보를 검사하는 방법을 배우게 됩니다. 이는 레지스트리에서 어떤 태그가 신뢰되는지 개략적으로 파악하는 데 유용합니다.

docker/trusttest 레지스트리를 계속 사용합니다. 이전 단계에서는 개별 태그를 살펴보았습니다. 이제 전체 레지스트리를 검사하여 모든 서명된 태그를 확인합니다.

레지스트리의 모든 서명된 태그를 검사하려면 docker trust inspect 명령을 사용하고 특정 태그 없이 레지스트리 이름을 입력합니다.

docker trust inspect docker/trusttest

이 명령을 실행하면 docker/trusttest 레지스트리 내에서 유효한 신뢰 데이터가 연결된 모든 태그가 출력됩니다. latest 태그에 대한 정보 (단계 1 에서 서명되었음을 확인했음) 와 해당 레지스트리에 다른 서명된 태그가 있는 경우 해당 태그에 대한 정보를 볼 수 있습니다. 단계 2 에서 검사한 unsigned 태그와 같은 서명되지 않은 태그는 이 출력에 나타나지 않습니다.

이 명령은 Docker Content Trust 에 따라 레지스트리의 이미지 버전 중 어떤 버전이 신뢰되는지 빠르게 확인할 수 있는 편리한 방법을 제공합니다.

여러 이미지의 신뢰 정보 검사

이 단계에서는 단일 docker trust inspect 명령으로 여러 이미지 태그에 대한 신뢰 정보를 검사하는 방법을 배우게 됩니다. 이는 여러 특정 이미지의 신뢰 상태를 한 번에 확인하려는 경우 유용합니다.

docker/trusttest 레지스트리에서 서명된 latest 태그와 서명되지 않은 unsigned 태그 모두에 대한 신뢰 정보를 하나의 명령으로 검사합니다.

여러 이미지를 검사하려면 docker trust inspect 명령 뒤에 공백으로 구분하여 이미지 이름 (태그 포함) 을 나열하면 됩니다.

docker trust inspect docker/trusttest:latest docker/trusttest:unsigned

이 명령을 실행하면 지정된 각 이미지 태그에 대한 신뢰 정보가 출력됩니다. docker/trusttest:latest에 대한 서명 세부 정보와 docker/trusttest:unsigned에 대한 신뢰 데이터가 없음을 나타내는 정보를 볼 수 있습니다. 이를 통해 단일 작업으로 여러 이미지의 신뢰 상태를 효율적으로 확인할 수 있음을 확인할 수 있습니다.

가독성이 좋은 형식으로 신뢰 정보 검사

이 단계에서는 docker trust inspect 명령과 함께 --pretty 플래그를 사용하여 신뢰 정보를 더 사람이 읽기 쉬운 형식으로 표시하는 방법을 배우게 됩니다. 기본적으로 출력은 스크립팅에는 유용하지만 사람이 빠르게 검사하기에는 덜 유용한 JSON 형식입니다.

서명된 docker/trusttest:latest 이미지에 대한 신뢰 정보를 다시 검사하지만 이번에는 --pretty 플래그를 추가합니다.

docker trust inspect --pretty docker/trusttest:latest

이 명령을 실행하면 출력이 더 쉽게 읽고 이해할 수 있는 방식으로 서식이 지정됩니다. 일반적으로 이미지, 서명자 및 해당 키에 대한 세부 정보를 명확한 레이아웃으로 표시하는 테이블과 유사한 구조로 정보를 표시합니다.

이 출력을 단계 1 의 기본 JSON 출력과 비교하면 --pretty 플래그가 신뢰 정보를 사람이 더 쉽게 접근할 수 있도록 만드는 방식을 확인할 수 있습니다. 이는 이미지를 수동으로 신뢰 상태를 확인할 때 특히 유용합니다.

요약

이 랩에서는 docker trust inspect 명령을 사용하여 이미지 신뢰 정보를 검사하는 방법을 배웠습니다. 먼저 단일 서명된 이미지 태그에 대한 신뢰 데이터를 검사하여 관련 서명 및 서명자의 세부 정보를 관찰했습니다. 그런 다음 서명된 레지스트리 내에서 서명되지 않은 이미지 태그를 검사하면 서명된 태그만 신뢰 정보를 갖는다는 것을 확인했습니다.

저희는 레지스트리 내의 모든 서명된 태그와 여러 이미지를 동시에 검사하여 이해도를 더욱 높였습니다. 마지막으로, 서명 세부 정보를 더 쉽게 해석할 수 있도록 신뢰 정보를 더 사람이 읽기 쉬운 형식으로 표시하는 방법을 배웠습니다. 이러한 단계는 Docker Content Trust 를 사용하여 Docker 이미지의 무결성 및 게시자를 확인하는 실질적인 경험을 제공했습니다.