前言

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快速入门_git

Docker Restful API 支持Swagger标准,最方便的查看Docker API的方式,就是使用Postman来进行查看, 可以通过Postman导入Docker API;  Docker API可以从github.com/gohutool/docker.ui里进行下载, 在项目目录下的docker.swagger.yaml文件。

导入方法

打开Postman,点击File-》Import

Docker Restful API快速入门_docker_02

Docker Restful API快速入门_容器_03

Docker Restful API快速入门_git_04

点击Import,即可导入Docker API;在菜单里选择Docker Engine API 

Docker Restful API快速入门_centos_05

现在就可以通过Postman来很方便的对Docker API查看和进行调试 

先设置BaseURL

设置baseUrl为已经打开docker的tcp的地址, 查看打开docker tcp地址可以查看文章​​《如何开启Docker的TCP通信端口》​

Docker Restful API快速入门_docker_06

试试一个API, 先试试version的接口

Docker Restful API快速入门_centos_07

在命令行用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"}

Docker Restful API快速入门_centos_08

试试关于镜像的API

Docker Restful API快速入门_git_09

如上图,就是查看镜像列表的接口, 可以查看到这个接口的参数

Docker Restful API快速入门_centos_10

使用CURL进行测试

[root@CENTOS-01 ~]#  curl -X GET http://192.168.56.114:2375/images/json?all=false

Docker Restful API快速入门_git_11

结束语

本文通过对Docker API和Postman的介绍; 介绍了如何通过Postman可以对Docker API进行查看和调试; 这个对Docker API的开发非常的高效, DockerUI在对Docker进行管理的功能,都是基于Docker API的调用,也都是使用这样的方法进行调试的。 非常的高效。