【问题标题】:Create a private repository on Docker Hub using Docker Registry API Client使用 Docker Registry API Client 在 Docker Hub 上创建私有存储库
【发布时间】:2019-01-22 00:04:53
【问题描述】:

我正在开发一个 Python 3.6 项目,在该项目中我需要使用 API 在 docker hub 帐户上创建一个存储库。我用谷歌搜索了很多,但找不到任何 API 客户端来在 docker hub 帐户上创建存储库。

我从here中只找到了这个模块dockercloud,并用这种方式试了一下:

dockercloud.user = 'arycloud'
dockercloud.apikey = 'API_KEY'
print(client.Repository.list())

但它会返回如下错误:

dockercloud.api.exceptions.AuthError:获取凭据时出错 - 错误:exec:“docker-credential-osxkeychain”:在 $PATH 中找不到可执行文件,输出:``

有什么方法可以使用 API 在 Docker Hub 上创建一个 repo?

【问题讨论】:

    标签: python docker dockerhub docker-image docker-api


    【解决方案1】:

    API documentation 没有描述在任何注册表(包括 Docker Hub)上创建存储库的任何机制。

    但是,我能够使用 curl 创建一个存储库来发送 POST 请求:

    TOKEN=$(curl -s -H "Content-Type: application/json" -X POST -d '{"username": "'${UNAME}'", "password": "'${UPASS}'"}' https://hub.docker.com/v2/users/login/ | jq -r .token)
    
    curl -s -H "Authorization: JWT ${TOKEN}" "https://hub.docker.com/v2/repositories/" \
         --data 'description=test' \
         --data 'full_description=full-description' \
         --data 'is_private=false' \
         --data 'name=test' \
         --data "namespace=${UNAME}"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-17
      • 1970-01-01
      • 1970-01-01
      • 2016-06-06
      • 2020-10-25
      • 2021-01-05
      • 2015-08-14
      • 1970-01-01
      相关资源
      最近更新 更多