Как передать имя пользователя и пароль в личный реестр Docker для аутентификации "htpasswd" - PullRequest
0 голосов
/ 10 июня 2019

У меня есть реестр 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 для таких операций, как перечисление образов реестра?

...