2017-01-09 99 views
0

我已經設置了一個本地OpenShift實例,並根據Red Hat指示安裝了Docker註冊表。但是,我無法登錄到內部碼頭註冊表。我敢肯定,在理解Docker和/或OpenShift的工作方式方面存在一些差距。我給了我的用戶管理員,集羣管理員和系統:註冊表角色,這是我相信我需要的。我通過OC登錄,然後嘗試登錄到註冊表中,像這樣:OpenShift Docker登錄問題

docker login -u $(oc whoami) -e 'xxxxxx' -p $(oc whoami -t) $(hostname):8443 

,我得到如下回應:

Error response from daemon: Unexpected status code [403] : { 
    "kind": "Status", 
    "apiVersion": "v1", 
    "metadata": {}, 
    "status": "Failure", 
    "message": "User \"system:anonymous\" cannot \"post\" on \"/v1/users/\"", 
    "reason": "Forbidden", 
    "details": {}, 
    "code": 403 
} 

我沒有找到有關此特定錯誤消息太多,所以我不確定我錯過了什麼。

+0

您的碼頭註冊表地址是「$(hostname):8443」嗎?這似乎是Web控制檯地址 –

+0

omg。你是對的。嘎。我以爲我真的到了某個地方。我一直在嘗試使用內部IP和5000端口登錄,但它似乎只是掛起。謝謝。我會關閉這個。 –

回答

0

本來應該使用內部IP泊塢窗:

# oc get svc docker-registry -n default 
NAME    CLUSTER-IP  EXTERNAL-IP PORT(S) AGE 
docker-registry 172.30.10.52 <none>  5000/TCP 9h 
0

如果您正在訪問的openshift集羣外的碼頭工人註冊表。這些是你必須要做的事情。

爲服務創建路線(從cli或Web控制檯)。 oc create route --service=<registryName> 如果您正在使用自簽名證書,請將此路由添加到您的主機不安全的docker註冊表選項(取決於您使用的主機)。 然後嘗試做碼頭註冊表的碼頭登錄。 你說你在openshift裏面安裝了一個註冊表,他們已經有了一個在openshift裏面運行的docker註冊表。