使用Docker Registry API客户端在Docker Hub上创建私有存储库

问题描述 投票:1回答:1

我正在研究一个python(3.6)项目,在该项目中,我需要使用API​​在docker hub帐户上创建一个存储库。我在Google上搜索了很多,但是找不到任何API客户端来在Docker Hub帐户上创建存储库。

我仅从dockercloud中找到了该模块here,并以此方式进行了尝试:

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

但是它返回这样的错误:

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

是否可以使用API​​在docker hub上创建存储库?

任何资源将不胜感激。

提前感谢!

python docker dockerhub docker-image docker-api
1个回答
0
投票

[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}"
© www.soinside.com 2019 - 2024. All rights reserved.