最简单的docker api调用语法解析,教你举一反三

前言:

由于最近打算学习python自动化这块,然后莫名其妙的转到了开发这块,说实话,开发是我一直以来都挺想涉足的领域,所以我目前从事的是运维,但是感觉开发比较有意思,由于是自学python开发,所以会遇到一些很基础很基础的问题,也许对于大部分开发的人来说都不是问题,就好像问我运维的Linux怎么切换目录一样,但是对我来说却是全新的知识,所以我要以我能理解的方式去记录与分享,希望能帮助那些跟我一样的人!

一、Docker简介

在写下面的内容之前,先简单说一下Docker的架构,Docker与我们常见的MySQL一样,都是cs架构,也就是客户端(Client),服务端(Server)的简称,所以Docker除了在本地使用,也可以通过(客户端)的方式进行操作,同时也支持API的方式进行操作,为Docker管理提供了更多的选择

二、API

在了解这个API之前,可以先去查一下什么是API?
下面附上官方的API文档说明

2.1、举个例子

了解这个例子之前,建议先去看这篇文章:如何开启Docker远程访问

比如我需要查询关键字为“centos”的镜像结果,我的Docker服务器的IP地址是:10.1.1.17,开放的端口是:2375
下面附上三种查询方法:

本地方式

docker search centos

在这里插入图片描述

客户端方式

docker -H 10.1.1.17:2375 search centos

在这里插入图片描述

API方式

http://10.1.1.17:2375/images/search?term=centos

直接通过HTTP访问的话数据会排版很乱,所以如果需要直观一点的话就需要json格式化输出

直接访问

在这里插入图片描述

json格式化

在这里插入图片描述

2.2、语法解析

2.2.1、官方API说明

示例:Docker镜像查询
在这里插入图片描述在官方的解析中,search的使用方法是在端口后面加上下面这个路径

/images/search

然后可选参数如下:

  • term :关键词传入
  • limit :需要显示的数量,只能传入整数
  • filters :过滤器,Docker镜像有星级评价,这个是通过星级评价条件进行筛选的一个参数,也只能传入整数**
    但是官方没有告诉你应该怎么使用这些参数,所以这也是我写这篇文章的意义所在!

2.2.2、如何以最简单的方式理解API调用语法

API调用其实可以参考百度搜索,例如:
在这里插入图片描述从上面的结果中,可以看到下面这种变量

wd=csdn&oq=csbd

然后查询其他关键字看一下变化
在这里插入图片描述可以发现,这个wd就是传入的关键字,而oq则是搜索结果的什么鬼,这都不重要,重要的是从这里我们可以知道Docker官方提供的所谓的参数使用其实就是加“=”号,然后在“=”的右边加上具体值(变量值),最后就可以得出想要的结果,而在不同的参数直接使用了,而下面这个符号则是“与”的意思

&

也就是多个条件做组合,例如数量,格式等都可以一起配合使用,那么到这里就很简单了,通过这个语法然后参考官方说明文档就可以很轻易的掌握基础的API知识了

2.3、实战

2.3.1、场景1:查询关键字“centos”的镜像

语法如下:

/images/search?term=centos

执行结果如下(已json格式化):
在这里插入图片描述

2.3.2、查询关键字为“mariadb”的镜像,并且只需要两个结果

语法如下:

/images/search?term=centos&limit=2

执行结果如下:
在这里插入图片描述