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} } }
参考
- 自述文件:swipely/docker-api
因此,在查看了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
是的,你的理解是正确的。 – BMW
好吧,您的编辑引用了与/ images /(id)/ get不同的/ containers /(id)/ export。 – tsoiland