通过将内容放入请求正文

时间:2015-08-26 14:28:26

标签: docker

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

我想通过将内容放在请求正文中来创建图像。对链接的解释没有详细说明请求和请求正文在这种情况下的外观。

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

1 个答案:

答案 0 :(得分:1)

通过跟踪docker import命令的行为,很明显/images/create端点需要包含文件的tar存档形式的数据来填充图像。我创建了一个包含单个文件的简单存档之后:

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"}

您可以通过在客户端和服务器之间设置日志记录代理来跟踪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