玖叶教程网

前端编程开发入门

IT工程师都需要掌握的容器技术之DockerApi接口实战

阅读本文约需要10分钟,您可以先关注我们,避免下次无法找到。

今天我们继续来学习Docker技术,本篇文章主要介绍Docker API接口,通过这些接口可以实现Docker批量的远程管控,同时还可以基于这些接口自研Docker业务编排平台。

下面就由成哥来介绍Docker API接口的具体使用吧!

01 开启Docker API远程访问

Docker Remote API 是由 Docker 守护进程提供的。在默认情况下,Docker守护进程会绑定到一个所在宿主机的套接字,即unix:///var/run/docker.sock。但此默认情况下,只能查询在同一宿主机上运行Docker的Remote API,如果我们想远程访问Remote API,就需要将Docker守护进程绑定到一个网络接口上。可以通过编辑守护进程的启动配置文件来开启Docker的远程访问,具体操作如下:

现在我们通过浏览器验证一下接口是否可以正常访问,操作如下:

02 常用的Docker API接口

(1)获取容器列表

通过该接口可以获取所有容器,接口URL如下:

1. # 接口URL,请求方式:GET  
2. /containers/json  

接口返回格式如下

该接口包含4个类型的查询参数

1)all,布尔型默认值为false,接口调用时默认只拉状态为running的容器,如果置位true可以拉取全部容器,包含已经停止了的容器

2)limit,整形拉取最近创建的几个容器。列如设为3则表示拉取最近创建的3个容器

3)size,布尔型默认值为false,如果置位true则拉取的容器可以包含容器大小如下所示

4)filters后面跟字典,可以针对多个条件进行筛选,如容器ID、容器状态等,下面示例通过容器ID进行容器数据筛选

(2)创建容器

创建容器接口URL如下所示

1. # 接口URL,请求方式:POST  
2. /containers/create  

我们现在创建一个容器test_api,具体操作如下

我们看看机器上我们的容器是否创建成功

(3)删除容器

删除容器的接口URL具体如下所示

1. # 接口url,方法为:delete  
2. /containers/{id}  

我们来删除容器elegant_saha,具体操作如下

容器删除接口常用的参数如下:

1)v,布尔值默认为false,用于指定删除容器时同时删除其关联的存储卷

2)force,布尔值默认为false,如果设为true将强制删除指定的容器,不然运行中的容器删除时会报错

(4)获取镜像列表

该接口用于获取容器镜像列表,具体接口内容如下

1. # 接口url,方法为:get  
2. /images/json  

通过该接口拉取镜像列表具体操作如下

(5)从Docker Hub拉取镜像

拉取镜像的具体接口如下

1. # 接口url,方法为:post  
2. /images/create  

(6)删除镜像

删除镜像的接口具体如下所示

1. # 接口url,方法为:delete  
2. /images/{name}  

我们删除镜像test_nginx,具体操作如下所示

(7)获取容器网络列表

获取容器网络列表接口具体如下所示

1. # 接口url,方法为:get  
2. /networks  

我们拉取主机上所有创建的网络,具体操作如下

(8)创建容器网络

容器网络创建的接口具体如下所示

1. # 接口url,方法为:post  
2. /networks/create  

我们创建一个名为api_bridge类型为bridge的网络,具体操作如下:

(9)容器与网络绑定

容器与网络绑定的具体接口如下

1. # 接口url,方法为:post  
2. /networks/{id/name}/connect  

我们将刚才创建的容器网络与容器test1进行绑定具体操作如下

(10)删除容器网络

删除容器网络的接口具体如下

1. # 接口url,方法为:delete  
2. /networks/{id/name}  

我们删除名称为docker_gwbridge的容器网络具体操作如下

(11)其它常用命令汇总

1. # 容器操作相关接口  
2. docker container inspect:GET /containers/(id)/json  
3. docker container top:GET /containers/(id)/top  
4. docker container logs:GET /containers/(id)/logs  
5. docker container export:GET /containers/(id)/export  
6. docker container start:POST /containers/(id)/start  
7. docker container attach:POST /containers/(id)/attach  
8.   
9. # 镜像操作相关接口  
10. docker image inspect:GET /images/(name)/json  
11. docker image tag:POST /images/(name)/tag  
12. docker image push: POST /images/(name)/push  
13. docker image build:POST /build  
14. docker search:GET /images/search  

至此我们DockerApi接口的内容就全部讲完了,大家有什么问题可以在下方留言讨论,最后如果喜欢不要忘了点赞、关注与转发哦!

--END--

@IT管理局专注计算机领域技术、大学生活、学习方法、求职招聘、职业规划、职场感悟等类型的原创内容。期待与你相遇,和你一同成长。

相关文章推荐:

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言