通过将内容放入请求主体来创build一个使用REST API的新图像

我正在关注https://docs.docker.com/reference/api/docker_remote_api_v1.21/#create-an-image中提到的docker的“Create a image”REST API。

我想通过将内容放在请求主体中来创build一个图像。 关于链接的解释并没有详细说明请求和请求主体在这种情况下的样子。

有谁知道我应该如何构build这个REST API的请求的URL和正文?

通过跟踪docker import命令的行为,显然/images/create endpoint需要以包含文件的tar归档文件的forms填充图像。 我创build了一个包含单个文件的简单存档:

 tar -c -f image.tar README 

我能够像这样上传图像:

 curl http://localhost:5555/images/create'?fromSrc=-&repo=larstest&tag=latest' \ -T image.tar -X POST 

docker的反应是:

 HTTP/1.1 200 OK Content-Type: application/json Date: Wed, 26 Aug 2015 15:10:10 GMT Transfer-Encoding: chunked {"status":"2df6c21713e01af0118bbe2810307c2111e1d0168463affffe5c517d4debb7db"} 

您可以通过在客户端和服务器之间设置日志logging代理来跟踪docker客户端的行为。 我做到了这一点:

 socat -v tcp-listen:5555,fork,reuseaddr unix-connect:/var/run/docker.sock 

然后像这样运行docker

 DOCKER_HOST=tcp://localhost:5555 docker import - larstest < image.tar