Docker Engine提供了Restful API供Docker Cli调用, 和普通的Web API一样, Docker提供的API也可以直接通过URL进行调用。 DockerUI就是通过Docker Engine提供的API,实现和Docker Daemon的交互,并完成对Docker节点的管理功能。今天这个文章就介绍一下,我们如何来获得Docker Restful API并进行API的调用。
Docker Restful API 支持Swagger标准,最方便的查看Docker API的方式,就是使用Postman来进行查看, 可以通过Postman导入Docker API; Docker API可以从github.com/gohutool/docker.ui里进行下载, 在项目目录下的docker.swagger.yaml文件。
打开Postman,点击File-》Import
点击Import,即可导入Docker API;在菜单里选择Docker Engine API
现在就可以通过Postman来很方便的对Docker API查看和进行调试
先设置BaseURL
设置baseUrl为已经打开docker的tcp的地址, 查看打开docker tcp地址可以查看文章《如何开启Docker的TCP通信端口》
试试一个API, 先试试version的接口
在命令行用CURL进行测试
- [root@CENTOS-01 ~]# curl -X GET http://192.168.56.114:2375/version
-
-
- {"Platform":{"Name":"Docker Engine - Community"},"Components":[{"Name":"Engine","Version":"20.10.14","Details":{"ApiVersion":"1.41","Arch":"amd64","BuildTime":"2022-03-24T01:46:10.000000000+00:00","Experimental":"false","GitCommit":"87a90dc","GoVersion":"go1.16.15","KernelVersion":"4.18.0-305.3.1.el8.x86_64","MinAPIVersion":"1.12","Os":"linux"}},{"Name":"containerd","Version":"1.5.11","Details":{"GitCommit":"3df54a852345ae127d1fa3092b95168e4a88e2f8"}},{"Name":"runc","Version":"1.0.3","Details":{"GitCommit":"v1.0.3-0-gf46b6ba"}},{"Name":"docker-init","Version":"0.19.0","Details":{"GitCommit":"de40ad0"}}],"Version":"20.10.14","ApiVersion":"1.41","MinAPIVersion":"1.12","GitCommit":"87a90dc","GoVersion":"go1.16.15","Os":"linux","Arch":"amd64","KernelVersion":"4.18.0-305.3.1.el8.x86_64","BuildTime":"2022-03-24T01:46:10.000000000+00:00"}
试试关于镜像的API
如上图,就是查看镜像列表的接口, 可以查看到这个接口的参数
使用CURL进行测试
[root@CENTOS-01 ~]# curl -X GET http://192.168.56.114:2375/images/json?all=false
本文通过对Docker API和Postman的介绍; 介绍了如何通过Postman可以对Docker API进行查看和调试; 这个对Docker API的开发非常的高效, DockerUI在对Docker进行管理的功能,都是基于Docker API的调用,也都是使用这样的方法进行调试的。 非常的高效。