레지스트리의 현재 서명자 검사
이 단계에서는 Docker 레지스트리의 현재 서명자를 검사하는 방법을 배우게 됩니다. Docker Content Trust 를 사용하면 사용하는 모든 이미지의 무결성과 게시자를 확인할 수 있습니다. 콘텐츠 신뢰가 활성화되면 Docker 는 가져오는 이미지가 서명되었는지 확인합니다.
먼저, Docker Content Trust 를 활성화해 보겠습니다. DOCKER_CONTENT_TRUST 환경 변수를 1로 설정하여 이 작업을 수행할 수 있습니다.
export DOCKER_CONTENT_TRUST=1
이제 콘텐츠 신뢰가 활성화되었으므로 이미지를 조작할 때 Docker 는 서명을 확인합니다. 레지스트리의 서명자를 검사하려면 docker trust inspect 명령을 사용하고 그 뒤에 레지스트리 이름을 입력합니다.
ubuntu 레지스트리의 서명자를 검사해 보겠습니다.
docker trust inspect ubuntu
다음과 유사한 출력이 표시되어 서명자와 해당 키가 표시됩니다.
No signatures for ubuntu
이 출력은 현재 ubuntu 레지스트리에 서명이 없음을 나타냅니다. 콘텐츠 신뢰 및 서명을 명시적으로 활성화하지 않은 경우 많은 공식 이미지에서 예상되는 결과입니다.
docker/trusttest와 같이 서명이 있는 것으로 알려진 레지스트리를 검사해 보겠습니다. 필요한 메타데이터가 있는지 확인하기 위해 먼저 이미지를 가져와야 합니다.
docker pull docker/trusttest
이제 docker/trusttest의 서명자를 검사합니다.
docker trust inspect docker/trusttest
이 레지스트리가 서명되었음을 나타내는 서명자와 해당 키가 나열된 출력이 표시됩니다. 출력에는 Targets 및 Releases 서명자에 대한 정보가 표시됩니다.
Signers of docker/trusttest:
ROLE KEYS
---- ----
Releases 0a0d52c692a8b3459f3422732222222222222222222222222222222222222222: docker/trusttest
Signatures for docker/trusttest:
SIGNER KEYS
------ ----
Releases 0a0d52c692a8b3459f3422732222222222222222222222222222222222222222: docker/trusttest
이 출력은 docker/trusttest 레지스트리가 서명되었음을 확인하고 서명자와 관련된 키를 나열합니다.