Авторизация токена реестра частного Docker - PullRequest
1 голос
/ 06 апреля 2019

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

Я проследил за несколькими ресурсами и сумел заставить его работать, используя метод htpasswd (https://the.binbashtheory.com/creating-private-docker-registry-2-0-with-token-authentication-service/). Однако яя хочу использовать токен с аутентификацией вместо 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 myregistry.com: 5000 с какого-то другого случайного ПК и запрашивает имя пользователя и пароль. Когда я ввожу случайное имя пользователя и правильный токен, который генерируется https://auth.mysite.com/api/docker_success,, он выбрасывает 401 неавторизовано, и я вижу msg = "ошибка авторизации контекста:Требуется токен авторизации "в журналах реестра. Я не понимаю, какого типа токен он ожидает. Я возвращаю токен от https://auth.mysite.com/api/docker_success клиенту как ответ с использованием фляги. Какой тип информации я должен возвращать из https://auth.mysite.com/api/docker_success

...