簡體   English   中英

使用 GitLab 的私有 Docker-Registry

[英]Private Docker-Registry with GitLab

我想要一個 GitLab-Registry ( https://docs.gitlab.com/ee/administration/container_registry.html )。 它是一個 Docker-Registry,GitLab 將處理身份驗證。

我的問題是它不起作用,我不知道該怎么做。

我的 Registry-Container 是這樣啟動的:

 sudo docker run -d \
 -e REGISTRY_LOG_LEVEL=debug \
 -e REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY=/registry \
 -e REGISTRY_AUTH_TOKEN_REALM=https://gitlab.***.com/jwt/auth \
 -e REGISTRY_AUTH_TOKEN_SERVICE=container_registry \
 -e REGISTRY_AUTH_TOKEN_ISSUER=gitlab-issuer \
 -e REGISTRY_AUTH_TOKEN_ROOTCERTBUNDLE=/root/certs/registry.pub \
 -e REGISTRY_AUTH_TOKEN_AUTOREDIRECT=true \
 -v /home/git/gitlab/ssl/:/root/certs/ \
 -p 5000:5000 --name registry registry:2

我的 GitLab 配置如下所示(GitLab 不在 Docker-Container 中運行,而是從源代碼安裝):

registry:
    enabled: true
    host: registry.***.com
    port: 443
    api_url: https://registry.***.com/ 
    cert: /home/git/gitlab/ssl/registry.pub
    key: /home/git/gitlab/ssl/registry.priv
    #path: /path/data
    issuer: gitlab-issuer

當我想登錄時

docker login registry.***.com:443

它返回以下內容:

Error response from daemon: Get https://registry.***.com/v2/: error parsing HTTP 404 response body: invalid character 'p' after top-level     value: "404 page not found\n"

registry docker 日志返回:

GET /auth/token?    account=****&client_id=docker&offline_token=true&service=container_registry HTTP/1.0 404

我錯過了任何部分還是我做錯了什么?

此問題的解決方案是將REGISTRY_AUTH_TOKEN_AUTOREDIRECT設置為false 然后注冊表返回了正確的 url。

目前REGISTRY_AUTH_TOKEN_AUTOREDIRECT參數沒有記錄。

暫無
暫無

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

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