我正在寻找使用curl或类似方法将具有save命令创建的图像的tar文件推送到远程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和图像结构(历史和图层),我不知道如何从头开始创建它。我可以从tar结构创建fsLayers,但不能从JWS和历史记录创建。可能有更简单的解决方案吗?
我正在寻找使用curl或类似方法将具有save命令创建的图像的tar文件推送到远程docker存储库的方法。所以我在寻找类似于docker标签的some / image仓库:5000 / ...
将构建的Docker映像推送到Docker注册表中