自动化运维 docker remote api探究

原文来自 Docker Remote API v1.5

注释:译文和原文对应的docker版本为1.5,普发行版的维护版本大多在1.5左右,没有翻译docker最新版本1.17对应的文档。

1.简介

1.docker remote api主要的目的是取代命令行界面.
2.docker服务进程默认监听unix:///var/run/docker.sock,也可以监听其他的端口和其他的unix socket
3.API尽量做到RESTful,尽量将全部的输出都输出给接口,但是一些复杂的命令,例如docker pulldocker attach,还是会不可避免地要输出到stdoutstderrstdin

2.分类

2.1容器

列出容器

GET /containers/json

使用示例:

GET /containers/json?all=1&before=8dfafdbc3a40&size=1 HTTP/1.1
返回值:

    HTTP/1.1 200 OK
    Content-Type: application/json

    [
         {
                 "Id": "8dfafdbc3a40",
                 "Image": "ubuntu:latest",
                 "Command": "echo 1",
                 "Created": 1367854155,
                 "Status": "Exit 0",
                 "Ports": [{"PrivatePort": 2222, "PublicPort": 3333, "Type": "tcp"}],
                 "SizeRw": 12288,
                 "SizeRootFs": 0
         },
         {
                 "Id": "9cd87474be90",
                 "Image": "ubuntu:latest",
                 "Command": "echo 222222",
                 "Created": 1367854155,
                 "Status": "Exit 0",
                 "Ports": [],
                 "SizeRw": 12288,
                 "SizeRootFs": 0
         },
         {
                 "Id": "3176a2479c92",
                 "Image": "ubuntu:latest",
                 "Command": "echo 3333333333333333",
                 "Created": 1367854154,
                 "Status": "Exit 0",
                 "Ports":[],
                 "SizeRw":12288,
                 "SizeRootFs":0
         },
         {
                 "Id": "4cb07b47f9fb",
                 "Image": "ubuntu:latest",
                 "Command": "echo 444444444444444444444444444444444",
                 "Created": 1367854152,
                 "Status": "Exit 0",
                 "Ports": [],
                 "SizeRw": 12288,
                 "SizeRootFs": 0
         }
    ]

备注:提供一个比较能接受的实例:
1.docker监听127.0.0.1:4243
2.curl -s "127.0.0.1:4243/containers/json"或者curl -s "127.0.0.1:4243/containers/json"|python -m json.tool进行格式化。
3.before的参数是容器ID,文档提供的是十二位的id,而实际是64位的d。

参数讲解:

晚上换windows再翻译。。

你可能感兴趣的:(paas,运维,docker)