如何通过保存命令创build的docker镜像到远程registry没有docker客户端

我正在寻找使用curl或类似的方法将tar文件与保存命令创build的映像一起推送到远程的docker仓库。 所以我在寻找类比

docker tag some/image repository:5000/some/image docker push repository:5000/some/image 

但没有安装docker客户端。 我想出了类似的代码

 userToken=$(oc login -u admin -p password > /dev/null && oc whoami -t) uploadURL=$(curl -u admin:"$userToken" -si -X POST "172.30.118.161:5000/v2/some/image/blobs/uploads/" | grep 'Location:' | cut -d ' ' -f 2 | tr -d '[:space:]') digest="sha256:$(sha256sum image.tar | cut -d ' ' -f 1)" curl -v -u admin:"$userToken" -T image.tar "$uploadURL&digest=$digest" curl -v -u admin:"$userToken" -H "Content-Type: application/json" -H "Accept-Encoding: gzip" -T manifest.json -X PUT "172.30.118.161:5000/v2/some/image/manifests/latest" 

而且,我似乎成功地推送图像,但不能推送清单文件。 由于JWS和图像结构(历史和图层),我不知道如何从头创build它。 我可以从焦油结构创buildfsLayers,但不能创buildJWS和历史。 可能会有更简单的解决scheme吗?