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}'`
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}'`
相关文章推荐
- centos 6 安装docker
- Docker命令查询
- docker 仓库
- docker 容器
- Docker 简介
- docker命令记录
- 微服务与Docker介绍
- 【Docker】基本命令使用介绍
- Ubuntu安装docker
- docker学习笔记(一)
- 应用Docker+Jupyter快速搭建数据科研环境
- docker创建与宿主机同域IP的container,解决ssh访问,免端口映射的方法
- Docker的Web UI管理:shipyard+swarm-(手动)安装&试用
- centos7.0 docker安装部署
- Docker容器详细学习教程
- docker容器端口映射解析
- docker固定IP地址重启不变
- Docker安装完启动时提示Failed to start docker.service: Unit docker.service is masked.
- docker registry v2 nginx
- 如何使用 Docker、ECS、Terraform 重建基础架构?