我正在关注https://docs.docker.com/reference/api/docker_remote_api_v1.21/#create-an-image中提到的docker的“创建映像”REST API。
我想通过将内容放在请求正文中来创建图像。对链接的解释没有详细说明请求和请求正文在这种情况下的外观。
有谁知道我应该如何构建此REST API的请求URL和正文?
答案 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