python - 使用 Docker Registry API 客户端在 Docker Hub 上创建私有存储库
问题描述
我正在开发一个 Python 3.6 项目,在该项目中我需要使用 API 在 docker hub 帐户上创建一个存储库。我用谷歌搜索了很多,但找不到任何 API 客户端来在 docker hub 帐户上创建存储库。
我dockercloud
从这里只找到了这个模块并以这种方式进行了尝试:
dockercloud.user = 'arycloud'
dockercloud.apikey = 'API_KEY'
print(client.Repository.list())
但它返回如下错误:
dockercloud.api.exceptions.AuthError:获取凭据时出错 - 错误:执行:“docker-credential-osxkeychain”:在 $PATH 中找不到可执行文件,输出:``
有什么方法可以使用 API 在 Docker Hub 上创建存储库?
解决方案
API 文档没有描述在任何注册表上创建存储库的任何机制,包括 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}"
推荐阅读
- c++ - 为什么会出现“多个测试用例”错误?
- c# - 将客户端连接到服务器时,SQL Server 中的远程连接出错
- javascript - 如何解决 NodeJS 中的“TypeError:将循环结构转换为 JSON”
- ios - iOS中的进程间通信
- css - 颜色值突出显示
- c# - 无法在 ASP.NET 的 page_load 中使用甜蜜警报
- linux - 如何根据日志消息重新启动脚本
- android - 为什么在Android Android Studio的布局中删除按钮后,它仍然可以看到它?
- java - 如何在每个子枚举中实现具有不同第一个参数的功能接口
- heroku - Webpacker:编译失败:错误命令“webpack”未找到