wfp 转发指定进程到接口_IT工程师都需要掌握的容器技术之DockerApi接口实战

99db9e6a55c42200f43d7b83e5ad2f28.gif

阅读本文约需要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的远程访问,具体操作如下:

0ddbfc3e6841ec9e53985ea8a44d43b6.png
f3e1ada9d3642977388d81edb273fc3a.png

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

6106272ba80d88af6a80fcb5126d923f.png

02 常用的Docker API接口

(1)获取容器列表

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

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

接口返回格式如下

5006bf4f9ce06b3c05b84af5165f8548.png

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

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

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

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

299526290180207181cb9509efcec9b3.png

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

441bb5af8ce5ae6ea7dd313bea20d335.png

(2)创建容器

创建容器接口URL如下所示

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

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

4acac07ff175b6264d02bb9b5f7f51a7.png

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

fd9c5b09511f2334d8a785c8d5e414b0.png

(3)删除容器

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

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

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

16c18c020fa055e64d554a6fb7a8d358.png
46dc65f94ffcc599c8e31eac1dd30abb.png
78d2ba49cdb4dcce1509f740fa56a678.png

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

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

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

(4)获取镜像列表

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

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

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

428e3dd2984d02035a19dd1b4ca0667b.png

(5)从Docker Hub拉取镜像

拉取镜像的具体接口如下

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

(6)删除镜像

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

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

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

852856bb5666e6535e17476d5d4f3866.png
3a75d63883c5b229ca5d9a962b40e737.png
ebd7c6c05ea67a17909e173556df4465.png

(7)获取容器网络列表

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

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

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

21d59c02b4f44dbe121e4ab2c8f77eb6.png

(8)创建容器网络

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

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

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

21bd77756932cd006961009b1f5fcbb3.png
704125b1e5443cbf116a333a812fb0b8.png

(9)容器与网络绑定

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

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

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

ee3abc6e99e3596d796373e176820b09.png
0ea9c6fed6aee5cdcb3ba793d4289b82.png

(10)删除容器网络

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

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

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

ee176f636f6608ff95abec3f71518b3a.png
77218c067226cb90888edf1c7eb67376.png
d3d2a948c2175ff8be13d092d6180e87.png

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

相关文章推荐:

  • IT工程师都需要掌握的容器技术之Docker容器管理
  • IT工程师都需要掌握的容器技术之扫盲篇
56ca16299e9efdc97302612c8e8dd93a.gif
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值