小编H4x*_*x9r的帖子

Docker 私有注册表镜像上传

我正在尝试使用 HTTP API 将图像上传到我的私人 docker 注册表,不幸的是没有成功。

显然我还没有理解上传过程,想问是否有人可以详细解释这一点或将我推向正确的方向。

到目前为止,我已经尝试使用curl进行以下操作。为了进行实验,我仅使用空的高山图像。为此,我将其下载到我的工作站docker pull alpine,然后使用创建 tar 存档docker save -o alpine.tar alpine

然后我将此存档解压到 alpine 目录中。内容如下: ls -R alpine

alpine:
    39cb81dcd06e3d4e2b813f56b72da567696fa9a59b652bd477615b31af969239
    e7d92cdc71feacf90708cb59182d0df1b911f8ae022d29e8e95d75ca6a99776a.json
    manifest.json

alpine/39cb81dcd06e3d4e2b813f56b72da567696fa9a59b652bd477615b31af969239:
    json
    layer.tar
    VERSION
Run Code Online (Sandbox Code Playgroud)

根据文档,我应该首先通过向 /v2//blobs/uploads/ URL 发送 POST 来启动上传,为此我执行以下命令:

curl -X POST -L -D headers $DOCKER_HOST/v2/alpine/blobs/uploads

答案如下:

cat headers

HTTP/1.1 301 Moved Permanently
Docker distribution api version: registry/2.0
location: /v2/alpine/blobs/uploads/
Date: Tu, 21 Jan 2020 12:42:55 GMT
content length: 0

HTTP/1.1 202 Accepted
content length: 0
Docker distribution api version: …
Run Code Online (Sandbox Code Playgroud)

curl http docker docker-registry

3
推荐指数
1
解决办法
3306
查看次数

标签 统计

curl ×1

docker ×1

docker-registry ×1

http ×1