Docker通过远程API将图像保存为tar

问题描述:

我想将图像导出到tar文件,我正在查看docker save命令。虽然我似乎无法在remote API中找到它。Docker通过远程API将图像保存为tar

我看到远程API中支持请求和响应中的tar流的其他命令,所以它应该是可能的。

这不支持,还是我错过了什么?

如果你知道红宝石,你可以尝试宝石泊坞窗-API

# Export a single Docker Image to a file 
# docker command for reference: docker save <IMAGE.ID> my_export.tar 
image.save('my_export.tar') 
# => Docker::Image { :id => 66b712aef, :connection => Docker::Connection { :url => tcp://localhost, :options => {:port=>2375} } } 

你也可以用它来从一个tar文件创建的任何图像

# Create an Image from a tar file. 
# docker command for reference: docker build - < docker_image.tar 
Docker::Image.build_from_tar(File.open('docker_image.tar', 'r')) 
# => Docker::Image { :id => 1266dc19e, :connection => Docker::Connection { :url => tcp://localhost, :options => {:port=>2375} } } 

参考

  1. 自述文件:swipely/docker-api
+1

因此,在查看了gem docker-api的源代码之后,它使用了[GET/images/image_id/get] [2],它看起来和docker save一样,只能通过REST。 [2]:https://docs.docker.com/reference/api/docker_remote_api_v1.20/#get-a-tarball-containing-all-images-in-a-repository – tsoiland

+0

是的,你的理解是正确的。 – BMW

+0

好吧,您的编辑引用了与/ images /(id)/ get不同的/ containers /(id)/ export。 – tsoiland