레지스트리에 새로운 서명자 추가
이 단계에서는 Docker 레지스트리에 새로운 서명자를 추가하는 방법을 배우겠습니다. 이는 다른 당사자 또는 시스템이 레지스트리에 대한 이미지를 서명하도록 허용하려는 경우 유용합니다.
서명자를 추가하기 전에 서명 키가 있어야 합니다. 키가 없는 경우 docker trust key generate 명령을 사용하여 새로운 키 쌍을 생성할 수 있습니다. 이 랩에서는 키 쌍이 있다고 가정합니다.
새로운 서명자를 추가하려면 docker trust signer add 명령을 사용합니다. 이 명령에는 새로운 서명자의 이름, 레지스트리 이름 및 새로운 서명자의 공개 키 경로가 필요합니다.
데모 목적으로 더미 공개 키 파일을 만들어 보겠습니다. 실제 시나리오에서는 새로운 서명자가 제공한 공개 키가 됩니다.
echo "-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0AQICYQADggEPADRUb2tlbiBmb3IgYSB0ZXN0IHNpZ25lcg==
-----END PUBLIC KEY-----" > ~/project/new_signer.pub
이 명령은 ~/project 디렉토리에 new_signer.pub라는 파일을 생성하고 더미 공개 키 내용을 포함합니다.
이제 가상의 레지스트리 your-dockerhub-user/my-image에 my-new-signer라는 새로운 서명자를 추가해 보겠습니다. 실제 레지스트리로 이 작업을 수행하는 경우 your-dockerhub-user를 Docker Hub 사용자 이름으로 바꿉니다. 이 랩에서는 자리 표시자를 사용합니다.
docker trust signer add my-new-signer your-dockerhub-user/my-image --key ~/project/new_signer.pub
레지스트리의 루트 키에 대한 암호를 입력하라는 메시지가 표시됩니다. 이는 권한 있는 사용자만 서명자를 추가할 수 있도록 하는 보안 조치입니다. 이 랩 환경에서는 실제 Docker 레지스트리와 상호 작용하지 않으므로 더미 암호를 입력할 수 있습니다.
암호를 입력하면 명령이 새로운 서명자를 레지스트리의 신뢰 데이터에 추가합니다. 서명자가 추가되었음을 나타내는 출력을 보게 됩니다.
Adding signer "my-new-signer" to your-dockerhub-user/my-image...
Successfully added signer "my-new-signer" to your-dockerhub-user/my-image
이 명령은 Docker 레지스트리에서 지정된 레지스트리에 대한 신뢰 데이터를 업데이트하여 새로운 서명자의 공개 키를 추가합니다.