关于docker rest api接口组件docker remote api的使用

前提:

docker remote api 是docker自带的一个rest api 管理。

只要在配置文件里面申明下就可以了。

下面是docker remote api的官方的功能目录:

通过接口获取所有的镜像 !

[[email protected] ~]$curl ‘http://127.0.0.1:4243/images/json?all=0‘| python -m json.tool

原文:   
[
    {
        "Created": 1407902496,
        "Id": "57672d1b597912c7b6841c05c0e07e525890cfd64cbd37c84754e7d7e54ee766",
        "ParentId": "47386e322f5deffbc04c777632e1f1ac7e6ddd6909ae6b9ce8d1d78dc2bb6d0c",
        "RepoTags": [
            "ubuntu_redis:latest"
        ],
        "Size": 2675587,
        "VirtualSize": 257554797
    },
    {
        "Created": 1407684299,
        "Id": "636d86f228c7c6e844d1473245a9580d9c57fd0bfd1b5b9172aa5c168581978c",
        "ParentId": "e882dd610d1ca64817106dcbda29b2c78536f5fb75f780583cc9fac0efe05398",
        "RepoTags": [
            "rastasheep/ubuntu-sshd:14.04"
        ],
        "Size": 0,
        "VirtualSize": 254925704
    },
    {
        "Created": 1407342004,
        "Id": "1147568d245b369495b19b1943c0946a2b2d823d0a96b48bb7bee5f128090d29",
        "ParentId": "12175cbcbe499c80dd71e3085467d9178a1b5cfa47ecf1463302e09fe2f09e58",
        "RepoTags": [
            "rastasheep/ubuntu-sshd:12.04"
        ],
        "Size": 0,
        "VirtualSize": 144645266
    },
    {
        "Created": 1407341844,
        "Id": "8a63145eed52cf9ae6bdb064f370469d6fa3653f0da5d370ece9e270baf8d9cb",
        "ParentId": "ca60f67629d2c43012fb53f714e60672c4ad5b61520bb306e3a35614190dcf76",
        "RepoTags": [
            "rastasheep/ubuntu-sshd:13.10"
        ],
        "Size": 0,
        "VirtualSize": 231639963
    },
    {
        "Created": 1407167259,
        "Id": "47386e322f5deffbc04c777632e1f1ac7e6ddd6909ae6b9ce8d1d78dc2bb6d0c",
        "ParentId": "a8bbc54283bbc341c703970ed429e4def6c034273ede59aaf451449164c95775",
        "RepoTags": [
            "rastasheep/ubuntu-sshd:latest"
        ],
        "Size": 0,
        "VirtualSize": 254879210
    },
    {
        "Created": 1406884906,
        "Id": "b78c71c001db87eb2da7049f5f9610039afd3484f65e22a3284098792460040d",
        "ParentId": "e13b39edfcb4c5e15f876c2824fea1d738fb3825437162fad497138123f3235b",
        "RepoTags": [
            "lemonbar/centos6-ssh:latest"
        ],
        "Size": 0,
        "VirtualSize": 296869021
    },
    {
        "Created": 1405333140,
        "Id": "c9c48c3cb34c4b8305d7bae4f0c3c753fbca3ac96195e73e9fdab4a8fa24708a",
        "ParentId": "30ffc511bbe11f6205cdc0f2749cadcc0c2eca4f7296285b1af867afcb6ef842",
        "RepoTags": [
            "rastasheep/ubuntu-sshd:12.10"
        ],
        "Size": 0,
        "VirtualSize": 188947523
    },
    {
        "Created": 1405333120,
        "Id": "bf49ae3d55344648b354bddf22b2f15c48e2d74e52933404757a9eb470ac35e3",
        "ParentId": "561b2d67fd0a80367e9ab98f9893ce6d36006dbb452e7c8693f028fcaa5f6c7f",
        "RepoTags": [
            "rastasheep/ubuntu-sshd:13.04"
        ],
        "Size": 0,
        "VirtualSize": 213124480
    }]

原文: http://rfyiamcool.blog.51cto.com/1030776/1539677

#这里是查看已经启动了的docker容器情况 !

[email protected]:~# curl http://127.0.0.1:4243/containers/json | python -m json.tool

[
    {
        "Command": "/usr/sbin/sshd -D",
        "Created": 1407902166,
        "Id": "df7b7568fa7a8c65e7ce857378a01ed127109b4de5e6508123e4797a5c54bfbe",
        "Image": "rastasheep/ubuntu-sshd:latest",
        "Names": [
            "/test_sshd"
        ],
        "Ports": [
            {
                "IP": "0.0.0.0",
                "PrivatePort": 22,
                "PublicPort": 49153,
                "Type": "tcp"
            }
        ],
        "Status": "Up 3 hours"
    }
]

#查看某个容器的具体信息

[email protected]:~# curl -XGET ‘http://127.0.0.1:4243/containers/df7b7568fa7a/json‘ | python -m json.tool

{
    "Args": [
        "-D"
    ],
    "Config": {
        "AttachStderr": false,
        "AttachStdin": false,
        "AttachStdout": false,
        "Cmd": [
            "/usr/sbin/sshd",
            "-D"
        ],
        "CpuShares": 0,
        "Dns": null,
        "Domainname": "",
        "Entrypoint": null,
        "Env": [
            "HOME=/",
            "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
        ],
        "ExposedPorts": {
            "22/tcp": {}
        },
        "Hostname": "df7b7568fa7a",
        "Image": "rastasheep/ubuntu-sshd",
        "Memory": 0,
        "MemorySwap": 0,
        "NetworkDisabled": false,
        "OnBuild": null,
        "OpenStdin": false,
        "PortSpecs": null,
        "StdinOnce": false,
        "Tty": false,
        "User": "",
        "Volumes": null,
        "VolumesFrom": "",
        "WorkingDir": ""
    },
    "Created": "2014-08-13T03:56:06.602313986Z",
    "Driver": "aufs",
    "ExecDriver": "native-0.1",
    "HostConfig": {
        "Binds": null,
        "ContainerIDFile": "",
        "Links": null,
        "LxcConf": [],
        "PortBindings": {
            "22/tcp": [
                {
                    "HostIp": "0.0.0.0",
                    "HostPort": "49153"
                }
            ]
        },
        "Privileged": false,
        "PublishAllPorts": true
    },
    "HostnamePath": "/var/lib/docker/containers/df7b7568fa7a8c65e7ce857378a01ed127109b4de5e6508123e4797a5c54bfbe/hostname",
    "HostsPath": "/var/lib/docker/containers/df7b7568fa7a8c65e7ce857378a01ed127109b4de5e6508123e4797a5c54bfbe/hosts",
    "ID": "df7b7568fa7a8c65e7ce857378a01ed127109b4de5e6508123e4797a5c54bfbe",
    "Image": "47386e322f5deffbc04c777632e1f1ac7e6ddd6909ae6b9ce8d1d78dc2bb6d0c",
    "Name": "/test_sshd",
    "NetworkSettings": {
        "Bridge": "docker0",
        "Gateway": "172.17.42.1",
        "IPAddress": "172.17.0.3",
        "IPPrefixLen": 16,
        "PortMapping": null,
        "Ports": {
            "22/tcp": [
                {
                    "HostIp": "0.0.0.0",
                    "HostPort": "49153"
                }
            ]
        }
    },
    "Path": "/usr/sbin/sshd",
    "ResolvConfPath": "/etc/resolv.conf",
    "State": {
        "ExitCode": 0,
        "FinishedAt": "2014-08-13T06:42:46.204526996Z",
        "Ghost": false,
        "Pid": 4222,
        "Running": true,
        "StartedAt": "2014-08-13T06:42:46.225958747Z"
    },
    "Volumes": {},
    "VolumesRW": {}
}

创建一个容器 !

[[email protected] ~]$curl -XPOST -H "Content-Type: application/json"  http://127.0.0.1:4243/containers/create -d ‘{

"Hostname":"",

"User":"",

"Memory":0,

"MemorySwap":0,

"AttachStdin":false,

"AttachStdout":true,

"AttachStderr":true,

"PortSpecs":null,

"Privileged": false,

"Tty":false,

"OpenStdin":false,

"StdinOnce":false,

"Env":null,

"Dns":null,

"Image":"rastasheep/ubuntu-sshd",

"Volumes":{},

"VolumesFrom":"",

"WorkingDir":""

}‘

{"Id":"d0274fdba510f643a0398cac36ee4caf9615b74e72452ff22951c96697f22c29","Warnings":null}

可能会返回的状态 !

config – the container’s configuration

Status Codes:

201 – no error

404 – no such container

406 – impossible to attach (container not running)

500 – server error

#我们查看下结果

[[email protected] ~]$docker ps -a

CONTAINER ID        IMAGE                           COMMAND             CREATED              STATUS              PORTS                            NAMES
d0274fdba510        rastasheep/ubuntu-sshd:latest   /usr/sbin/sshd -D   About a minute ago   Up 7 seconds        22/tcp                           silly_turing        
2602cb4fb43b        rastasheep/ubuntu-sshd:latest   /usr/sbin/sshd -D   2 minutes ago        Up 56 seconds       22/tcp                           angry_lovelace      
1d20403be200        ubuntu_redis:latest             /usr/sbin/sshd -D   3 hours ago          Up 3 minutes        22/tcp, 0.0.0.0:6379->6379/tcp   redis_6379          
c5f6d0240531        ubuntu_redis:latest             /usr/sbin/sshd -D   6 hours ago          Exit 0                                               redis_sshd          
df7b7568fa7a        rastasheep/ubuntu-sshd:latest   /usr/sbin/sshd -D   6 hours ago          Up 3 hours          0.0.0.0:49153->22/tcp            test_sshd

查看容器内的top信息:

原文: http://rfyiamcool.blog.51cto.com/1030776/1539677

关闭容器,启动容器:

[email protected]:~# curl -s -XPOST "http://127.0.0.1:4243/containers/d0274fdba510/stop" 
[email protected]:~# 
[email protected]:~# curl -s -XPOST "http://127.0.0.1:4243/containers/d0274fdba510/start"

我这边就简单说下,详细的功能实现大家自己翻墙到官网look下吧。 说来也怪,docker时不时的抽风被墙 。我看了国外的论坛,貌似有些公司做了基于docker remote api实现的管理平台。

关于docker rest api接口组件docker remote api的使用

时间: 2024-09-29 20:44:07

关于docker rest api接口组件docker remote api的使用的相关文章

Docker 1 12新功能探索(8) Remote Api 1 24

Docker的Remote Api并不是1.12才有的,Docker1.12的Remote Api升到了1.24.Remote api的使用在1.12中没有大的变化,稍微大一点的变化是到这个版本之后,二进制文件分裂成了主client的docker以及主server的dockerd了.在centos上通过systemd的配置变化不大,无非是将tcp://ip:port设定到启动的Option中而已,下面来看一下如何设定和简单使用. 事前确认 可以看到只有unix socket的方式 [[email

高质量API网关组件实现

PI网关组件的作用? 1.网关直接代替MVC当中的Controller层,减少编码量提高开发效率 2.统一API接口的出入参格式,提高API的友好性 3.自动检测API接口规范,提高接口的质量 4.统一规范API接口异常,提高API的友好性 API接口实现过程: 实现过程:

web api接口同步和异步的问题

一般来说,如果一个api 接口带上Task和 async 一般就算得上是异步api接口了. 如果我想使用异步api接口,一般的动机是我在我的方法里面可能使用Task.Run 进行异步的去处理一个耗时的操作. Q1.如果一个api接口很耗时,比如需要10s,会影响我的前端展示吗? --不会.很多js可以异步请求api接口,当接口返回数据时,通过回调方法,显示数据. Q2.对于存在耗时的api接口,使用异步api接口(接口内部可能使用 Task.Run 异步操作)一定可以提高响应吗? --不一定.举

Web API接口设计经验总结

在Web API接口的开发过程中,我们可能会碰到各种各样的问题,我在前面两篇随笔<Web API应用架构在Winform混合框架中的应用(1)>.<Web API应用架构在Winform混合框架中的应用(2)--自定义异常结果的处理>也进行了总的介绍,在经过我的大量模块实践并成功运行后,总结了这篇随笔,希望对大家有所帮助. 1.在接口定义中确定MVC的GET或者POST方式 由于我们整个Web API平台是基于MVC的基础上进行的API开发,因此整个Web API的接口,在定义的时

Web API接口设计(学习)

1.在接口定义中确定MVC的GET或者POST方式 由于我们整个Web API平台是基于MVC的基础上进行的API开发,因此整个Web API的接口,在定义的时候,一般需要显示来声明接口是[HttpGet]或者[HttpPost],虽然有些接口也可以不用声明,但是避免出现类似下面的错误信息,显式声明还是有好处的. 请求的资源不支持 http 方法“POST 例如在基类定义的查找对象接口如下所示. /// <summary> /// 查询数据库,检查是否存在指定ID的对象 /// </su

天气预报、查询API接口大全

天气api最新开放天气预报查询 目录: 1.  中国天气网 1.1  实时天气 API 接口 1.2  当天天气 API接口 1.3 生活指数 API接口 1.4 未来五天天气 API 接口(失效) 2.   开放数据网天气 2.1 简介 2.2. 一天天气 API 接口 2.3 未来五天天气 API 接口 3.   中国天气&开放数据 综合版 3.1  实时天气 3.2  当天天气 3.3 未来五天 3.4 生活指数 4.  随身云天气API (无天气标志) 4.1 简介 4.1  简化版 未

Django项目:CMDB(服务器硬件资产自动采集系统)--02--02CMDB将服务器基本信息提交到API接口

AutoCmdb 1 # urls.py 2 """AutoCmdb URL Configuration 3 4 The `urlpatterns` list routes URLs to views. For more information please see: 5 https://docs.djangoproject.com/en/2.0/topics/http/urls/ 6 Examples: 7 Function views 8 1. Add an import

高性能的 PHP API 接口开发 视频教程

第1章 课程介绍及基础知识讲解 1-1 课程介绍 1-2 API基础知识讲解 1-3 RestfulAPI,Yaf框架,Postman讲解第2章 API接口的基本实现 2-1 准备工作-快速搭建基于Yaf框架的项目环境 2-2 用户类API-实现用户注册API.登录API 2-3 用户类API-SESSION与相关思考 2-4 文章类API-实现文章新增API.修改API 2-5 文章类API-实现文章删除API.文章状态修改API.单一文章获取详细信息API 2-6 文章类API-实现文章列表

微信群API接口

安卓微信的api,个人微信开发API协议,微信 ipad sdk,微信ipad协议,微信web版接口api,微信网页版接口,微信电脑版sdk,微信开发sdk,微信开发API,微信协议,微信接口文档sdk,替代微信ipad协议的api接口,网页个人微信api分享,微信机器人SDK接口API,个人微信号API接口,微信群API接口 1.基础消息类型1.客户端发送的心跳包HeartBeatReq = 1001; 2.消息接收确认回复(接收或拒绝接收)MsgReceivedAck = 1002; 3.错