《基于Kubernetes的容器云平台实战》——2.3 容器状态管理
2.3 容器状态管理
最常用的容器状态管理命令是ps、inspect和logs。另外,stats可查看容器的资源使用统计,top可查看容器中进程号等信息,而port可查看容器的端口映射信息。
1.列出所有容器基本信息
docker container ps [OPTIONS]
该命令列出本机运行状态容器的ID、对应镜像标识、Name、启动命令、创建时间和当前状态等信息。ls和list为此命令别名。
-q/--quiet只显示容器ID。-s/--size增加显示一列容器大小。-a/--all可显示非运行态容器信息。--no-trunc不截断各个信息列。-n/--last显示最后创建的n个容器的基本信息。-l/--latest显示最后创建的容器的基本信息。
--format(-f选项不是它的缩写形式)用于控制显示格式,遵循Go模板语法,有table前缀时显示表头。列占位符有:ID、image、command、createdAt、runningfor、ports、status、size、names、labels、label、mounts、networks。label可带参数,显示指定key对应的value,例子是:{{.Label "docker.cpu"}}。
-f/--filter用于过滤显示列表,表达式是key=value形式,每个选项只能带有一个过滤条件。基本过滤条件key包括:ID、name、label、exited、status、ancestor、before、since、volume、publish、expose和health。
2.查看容器详细信息
docker container inspect [OPTIONS] CONTAINER [CONTAINER...]
该命令用json格式显示一个或者多个容器的详细信息。有-s/--size选项时,结果将增加两个key:SizeRw和SizeRootFs,对应读写层大小和根文件系统大小。
-f/--format可只显示指定key的值。可使用各种Go模板语法,key直接取自完整的json输出中各个层次的键值及其组合。
3.查看容器日志
docker container logs [OPTIONS] CONTAINER
该命令显示写入本地文件系统中的容器日志信息。假如启动Docker引擎或容器时,指定了非json-file和journald类日志驱动,命令可能无法正常工作。
--follow/-f,连续显示日志;--tail,指定从日志尾算起显示多少行,参数为all表示全部;-t/--timestamps,在每行日志之前加上时间戳。
--since和--until,选取指定时间之后或者之前的日志,参数格式为RFC3339Nano,可以支持到纳秒精度,也能够支持到较粗精度。
4.列出容器端口映射
docker container port CONTAINER [PRIVATE_PORT[/PROTO]]
该命令显示指定容器的全部端口映射或者部分端口映射信息。
5.显示容器中运行进程
docker container top CONTAINER [ps OPTIONS]
该命令显示容器中进程信息,包括:UID、PID、PPID、CPU使用率、启动时间、tty、运行时间和启动命令等列,PID和PPID是宿主机进程命名空间中的ID值。Linux下等于执行ps命令,并且默认带有-ef选项,因此要求容器中有ps命令。
6.显示容器资源占用统计
docker container stats [OPTIONS] [CONTAINER...]
该命令以表格形式连续显示容器的运行统计:CPU和内存占用百分比、内存使用量和允许使用量、容器网络流量、容器块设备读写量和容器创建的进程数。带--no-stream时只显示一次退出。
--format控制显示格式,带table前缀显示表头,列占位符有Container、name、ID、CPUPerc、MemUsage、NetIO、BlockIO、MemPerc和PIDs。
-a/--all可显示非运行态容器统计;--no-trunc,所有字段显示时不截断。
- 点赞
- 收藏
- 关注作者
评论(0)