Авторизация токена реестра Private Docker

#docker #authorization #token #docker-registry

#docker #авторизация #токен #docker-реестр

Вопрос:

В настоящее время я пытаюсь создать свой собственный частный реестр docker с включенной авторизацией токена. Однако у меня возникают проблемы при попытке авторизовать токен, который создается сервером авторизации.

Я воспользовался несколькими ресурсами, и мне удалось заставить его работать, используя метод htpasswd ( https://the.binbashtheory.com/creating-private-docker-registry-2-0-with-token-authentication-service/). Однако я хочу, чтобы это было с использованием токена auth вместо htpasswd.

Я внедрил этот блок в конфигурацию моей команды запуска docker следующим образом (на https://myregistry.com ):

 ```
docker run -p 5000:5000 --restart=always --name registry 
-v `pwd`/docker/registry/config.yml:/etc/docker/registry/config.yml 
-v `pwd`/nginx/fullchain.pem:/etc/docker/registry/fullchain.pem 
-v `pwd`/nginx/privkey.pem:/etc/docker/registry/privkey.pem 
-e REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY=/data 
-e REGISTRY_STORAGE_DELETE_ENABLED=true 
-e REGISTRY_AUTH=token 
-e REGISTRY_AUTH_TOKEN_REALM=https://auth.mysite.com/api/docker_success 
-e REGISTRY_AUTH_TOKEN_SERVICE="Docker registry" 
-e REGISTRY_AUTH_TOKEN_ISSUER="Auth service" 
-e REGISTRY_AUTH_TOKEN_ROOTCERTBUNDLE=/etc/docker/registry/fullchain.pem 
-e REGISTRY_HTTP_TLS_CERTIFICATE=/etc/docker/registry/fullchain.pem 
-e REGISTRY_HTTP_TLS_KEY=/etc/docker/registry/privkey.pem 
registry:2
```
  

После запуска реестра я запускаю docker login myregistry.com: 5000 с другого случайного компьютера, и он запрашивает имя пользователя и пароль. Когда я ввожу случайное имя пользователя и правильный токен, который генерируетсяhttps://auth.mysite.com/api/docker_success , он выдает 401 несанкционированный, и я вижу сообщение об ошибке = «контекст авторизации: требуется токен авторизации» в журналах реестра. Я не понимаю, от какого типа токена он ожидает, что я верну токен от https://auth.mysite.com/api/docker_success клиенту в качестве ответа, используя flask. Какой тип информации я должен вернуть из https://auth.mysite.com/api/docker_success ?