#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
?