我正在处理一个python(3.6)项目,在该项目中,我需要使用API在docker hub帐户上创建一个存储库。我已经在Google上搜索了很多,但是找不到任何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上创建仓库?
任何资源将不胜感激。
谢谢!
答案 0 :(得分: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}"