docker client与直接调用docker daemon API优势在哪?


背景
近些天,一直在用docker-java客户端与docker daemon通信,大概执行的操作有: docker pull、docker start、docker stop、docker inspect、docker rm等操作,但发现docker-java并不能完全提供自己想要的功能。比如说:我想获得image的virtual size,通过docker-java的inspectImageCmd()获取到的InspectImageResponse只能返回一些常用信息,并不能获取image相关的全部内容,最终只能通过调用docker daemon API(GET docker-daemon-server/images/{imagePath}/json)获取。描述的问题只是docker-java体现的,但相信其他语言的client也多多少少会有类似问题(纯属臆想,未验证)。

因此,便有了疑问:


docker client与直接调用docker daemon API优势在哪?
目前能想到的是dockerclient能够处理一些请求异常情况,如超时等,使用户更专注于主功能。但这些用户可以自行封装,应该也不是问题。
已邀请:

fudali - 90后doob ape

赞同来自: allansun


那些client只是对api的封装吧,方便你使用。你要是有时间你自己也可以封装一个符合你需求的client

allansun - 无名小虾

赞同来自:


Docker client只是用python写的Docker API的封装,你完全可以用主机的语言实现。 docker client只是方便在命令行调用而已。

要回复问题请先登录注册