當我直接運行docker run -d -p 5000:5000 --restart=always --name registry registry:2
時,我可以訪問註冊表curl localhost:5000/v2/_catalog
。但在我使用TLS參考https://docs.docker.com/registry/deploying/保護註冊表後。像curl localhost:5000/v2/_catalog
這樣的命令無法使用。那麼我怎樣才能使用curl訪問註冊表?是否應該添加一些選項?就像我想使用docker remote api一樣,我可以使用curl --insecure --cert ~/cert.pem --key ~/key.pem https://$host:2376/_ping
。如何使用curl訪問docker registry v2?
2
A
回答
1
如果您熟悉httpparty/Ruby中,你可以看看這個實現:https://github.com/EugenMayer/docker_registry_cli/blob/master/requests/DockerRegistryRequest.rb
取決於你有你的註冊表中的身份驗證機制,你要麼需要添加基本認證informartions或者,如果承載使用令牌,你需要每一個要求身份驗證,請參閱https://github.com/EugenMayer/docker_registry_cli/tree/master/auth
這意味着,你首先發送一個GET請求,如果你得到一個401,你的憑據發送到服務器範圍參數:https://github.com/EugenMayer/docker_registry_cli/blob/master/requests/DockerRegistryRequest.rb#L52
它或多或少都是平常的JWT令牌實現。因此,您需要添加basic-auth頭文件來捲曲,或者添加每個範圍的JWT令牌(每個intent需要2個curl請求)。
對於JWT令牌身份驗證也看到https://docs.docker.com/registry/spec/auth/jwt/
對於基本認證,則需要這個頭:https://github.com/EugenMayer/docker_registry_cli/blob/master/auth/BasicAuthService.rb#L27
-1
捲曲狀curl --cacert domain.crt https://myregistry.com:5000/v2/_catalog
會工作。
相關問題
- 1. 使用API v2將圖像上傳到Docker Registry時出錯
- 2. Docker Private Registry Mirror - Forbidden
- 3. PHP cURL訪問失敗遠程Docker集線器/註冊表
- 4. Docker Registry vs Nexus/Artifactory
- 5. Docker:google/docker-registry容器的使用情況
- 6. 爲什麼我們使用docker-registry?
- 7. 可以從Docker Registry V2獲取圖像ID嗎?
- 8. 如何使用curl訪問github graphql API
- 9. 我如何使用docker-registry與登錄名/密碼?
- 10. Docker Hub API v2令牌認證問題
- 11. Docker Registry的GC集合
- 12. Nexus Docker Registry - Failling anonymous pull
- 13. 如何在從「Docker quickstart終端」啓動docker時添加`--registry-mirror`?
- 14. 如何在portshift docker註冊表中執行docker registry gc?
- 15. 如何使用ModPerl :: Registry
- 16. 使用cURL/OAuth訪問del.icio.us api
- 17. 如何使用docker-machine安全的docker註冊表鏡像?
- 18. 如何從GitLab的Docker Registry中取出.gitlab-ci.yml文件?
- 19. 使用PHP CURL調用不起作用的Dropbox v2 API問題
- 20. 使用App Model V2訪問日曆
- 21. 訪問路徑「/ etc/mono/registry」被拒絕
- 22. 使用ceph存儲時無法從docker-registry中拖出docker圖像
- 23. 如何從Websphere 6.1中的EJB訪問User Registry
- 24. MissingBlobException當從/進入Nexus 3 Docker-Registry
- 25. 使用訪問令牌的Android Dropbox API v2自動訪問
- 26. Jenkins使用Docker,Google Registry和Google Auth Plugin構建流水線
- 27. 使用BlueMix Container Registry服務而不運行本地Docker
- 28. 使用CURL訪問Google Apps腳本
- 29. 使用cURL訪問Guvnor REST API
- 30. 如何在PHP中使用curl來訪問curl中的某些數據?