簡體   English   中英

Docker 私有注冊表令牌身份驗證失敗,狀態為:400 錯誤請求

[英]Docker private registry token authentication failed with status: 400 Bad Request

以下是我的docker-compose.yml文件,我在其中托管了我的私人 docker 注冊表和域registry.MY-DOMAIN.com

version: "3.9"

services:
  registry:
    image: registry:latest
    environment:
      REGISTRY_HTTP_SECRET: b8f62d22-9a3f-4c73-bf5e-e0864b400bc8          

      #S3 bucket as docker storage
      REGISTRY_STORAGE: s3
      REGISTRY_STORAGE_S3_ACCESSKEY: XXXXXXXXX
      REGISTRY_STORAGE_S3_SECRETKEY: XXXXXXXXX
      REGISTRY_STORAGE_S3_REGION: us-east-1
      REGISTRY_STORAGE_S3_BUCKET: docker-registry

      #Docker token based authentication
      REGISTRY_AUTH: token
      REGISTRY_AUTH_TOKEN_REALM: "https://api.MY-DOMAIN.com/api/developer-auth/login"
      REGISTRY_AUTH_TOKEN_SERVICE: Authentication
      REGISTRY_AUTH_TOKEN_ISSUER: "Let's Encrypt"
      REGISTRY_AUTH_TOKEN_AUTOREDIRECT: false

      #Letsencrupt certificate
      REGISTRY_AUTH_TOKEN_ROOTCERTBUNDLE: "/certs/live/registry.MY-DOMAIN.com/fullchain.pem"
      REGISTRY_HTTP_TLS_CERTIFICATE: "/certs/live/registry.MY-DOMAIN.com/fullchain.pem"
      REGISTRY_HTTP_TLS_KEY: "/certs/live/registry.MY-DOMAIN.com/privkey.pem"
    ports:
      - 5000:5000

    restart: always

    volumes:
      - "/etc/letsencrypt:/certs"

當我嘗試登錄到我的 API 服務器時,它返回以下錯誤

❯ docker login registry.MY-DOMAIN.com

Username: Elda86@yahoo.com

Password:

Error response from daemon: login attempt to https://api.MY-DOMAIN.com/v2/ failed with status: 400 Bad Request

我的NodeJS API 中沒有與 MongoDB 數據庫通信的用戶名字段。 我可以傳遞 email 而不是用戶名嗎?

我想使用用 NodeJS (ExpressJS) 應用程序編寫的自定義 API 進行 Docker 注冊表令牌身份驗證。 這樣用戶就可以以“docker login registry.mydomain.com”身份登錄,並在通過身份驗證后推送圖像。 我想要和 DockerHub 一樣的體驗。 我正在為我的產品設置一個類似於 DockerHub 的東西。 它充當 docker 商店。

我可以知道如何解決這個問題嗎?

看起來您的令牌身份驗證服務未正確實施。

您應該根據規范實施它。

想要查詢更多的信息。

我還建議研究實際的現有實現。

如:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM