У меня есть реестр Docker: 2 реализован с использованием docker-compose с аутентификацией "htpasswd".Это работает отлично.Я могу войти в реестр с помощью команды «docker login», передав учетные данные на терминал.Могут быть выполнены все операции push / pull докера.Однако запросы curl не выполняются с ошибкой аутентификации.
curl -s -H "Тип контента: application / json" -X POST -d '{"имя пользователя": "regisrty-admin", "пароль":" Пароль @ 123 "} 'https://my -registry.com: 5000 / v2 / _catalog
ОШИБКА: {" error ": [{" code ":" UNAUTHORIZED ", "message": "требуется проверка подлинности", "detail": [{"Type": "registry", "Class": "", "Name": "catalog", "Action": "*"}]}]]}
Docker-Compose.yml
version: '3.7'
services:
my-registry:
container_name: my-registry
restart: always
image: registry:2
ports:
- "5000:5000"
environment:
REGISTRY_HTTP_ADDR: 0.0.0.0:5000
REGISTRY_HTTP_TLS_CERTIFICATE: /certs/domain.crt
REGISTRY_HTTP_TLS_KEY: /certs/domain.key
REGISTRY_AUTH: htpasswd
REGISTRY_AUTH_HTPASSWD_PATH: /auth/htpasswd
REGISTRY_AUTH_HTPASSWD_REALM: Registry Realm
REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY: /data
volumes:
- type: bind
source: /opt/docker/registry/certs/
target: /certs
- type: volume
source: registry_data
target: /data
- type: bind
source: /opt/docker/registry/auth/
target: /auth
volumes:
registry_data:
Как правильно использовать учетные данные "htpasswd" с командой CURL для таких операций, как перечисление образов реестра?