您的位置:首页 > 运维架构 > Docker

docker自定义docker ps及常用组合命令

2016-01-17 12:24 666 查看
我们开发过程中, 有部分是截取docker ps的监控, 但是dockerps 的所属信息较少,比如父进程号, 子进程号, 当前挂载信息等没有办法能够获取,故此我们需要自定义输出我们定制的docker ps.

docker inspect 容器号或容器名称能够输出容器的详细信息,
如:

[{

"Architecture":"amd64",

"Author":"wangzhehan",

"Comment":"Added hadoop hive client",

"Config": {

"AttachStderr": false,

"AttachStdin": false,

"AttachStdout": false,

"Cmd": [

"/bin/bash"

],

"CpuShares": 0,

"Cpuset": "",

"Domainname": "",

"Entrypoint": null,

"Env": null,

"ExposedPorts": {

"22/tcp": {}

},

"Hostname": "",

"Image": "",

"MacAddress": "",

"Memory": 0,

"MemorySwap": 0,

"NetworkDisabled": false,

"OnBuild": null,

"OpenStdin": false,

"PortSpecs": null,

"StdinOnce": false,

"Tty": false,

"User": "root",

"Volumes": null,

"WorkingDir": ""

},

"Container":"42062e85e250e46fdc1867da1e5a53bfea16a770515e94d81fd6cfc7ae9ba675",

"ContainerConfig": {

"AttachStderr": true,

"AttachStdin": true,

"AttachStdout": true,

"Cmd": [

"/bin/bash"

],

"CpuShares": 0,

"Cpuset": "",

"Domainname": "",

"Entrypoint": null,

"Env": null,

"ExposedPorts": {

"22/tcp": {}

},

"Hostname": "42062e85e250",

"Image": "jdclient/centos:7",

"MacAddress": "",

"Memory": 0,

"MemorySwap": 0,

"NetworkDisabled": false,

"OnBuild": null,

"OpenStdin": true,

"PortSpecs": null,

"StdinOnce": true,

"Tty": true,

"User": "root",

"Volumes": null,

"WorkingDir": ""

},

"Created":"2015-06-18T02:50:53.120470388Z",

"DockerVersion":"1.5.0",

"Id":"f0f749cfd553c13842b1c0bf4aadec7ce4b769142c58548cce484e24a6287c95",

"Os":"linux",

"Parent":"9b6f4bdec10036c3966c1f2e81bf3d3b3570a277a40d860d669557476d1211ec",

"Size": 16191,

"VirtualSize":1109989744

}

]

自定义格式则.可以是:

定制显示docker列:

docker inspect --format='{{.State.Pid}}{{.Name}}' `docker ps -a -q`

显示则是 pid 与容器名称

对应个格式为 一级属性{{.属性}} 二级属性 {{.属性.属性}} 三级属性 {{.属性.属性.属性}}

比如{{.State.Pid}} , {{.Name}} , {{.Os}}

显示: 1064 , 镜像名 , linux

常用监控命令:

docker ps -a -q | wc -l 监控容器数量

docker ps -q | wc -l 正在运行的容器的数量

docker ps -a | grep -v 'Up ' | grep -v'CONTAINER' | wc -l 非运行状态的容器的数量

获取docker执行进程

docker top `docker ps -q`

删除docker容器

docker rm -f `docker ps -a -q` 删除所有容器

docker rm `docker ps -a -q` 删除非运行的容器

docker rm `docker ps -a | grep Exited | awk'{print $1}'` 删除异常退出的容器

删除docker无引用的镜像

docker rmi -f `docker images | grep'<none>' | awk '{print $3}'`
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: