Docker资源占用命令和Centos横向对比

如果你熟悉 CentOS/Linux 的资源查看命令,Docker 里的资源查看大致可以这样对应:

目的CentOS/Linux 命令Docker 对应命令说明
查看 CPU/内存实时占用top / htopdocker stats查看容器实时资源
查看进程ps auxdocker top <container>查看容器内进程
查看磁盘总空间df -hdocker system df查看 Docker 占用
查看目录大小du -shdocker system df -v细分镜像/容器/volume/cache
查看磁盘 IOiostatdocker stats容器 IO
查看网络ifconfig / ip addrdocker stats容器网络流量
查看服务状态systemctl status xxxdocker ps查看容器运行状态
查看日志journalctl -u xxxdocker logs查看容器日志
查看启动服务systemctl list-unitsdocker ps -a所有容器
查看挂载mountdocker inspectvolume/bind mount


1. CPU / 内存

CentOS

top

或者:

htop

看:

PID
CPU%
MEM%

Docker

docker stats

输出:

CONTAINER ID   CPU %   MEM USAGE / LIMIT   NET I/O     BLOCK I/O
abc123         20%     500MiB / 2GiB       1MB/2MB     5GB/1GB

类似:

top
 |
 +-- container

指定容器:

docker stats rabbitmq


2. 查看磁盘

CentOS

整体:

df -h

例如:

Filesystem   Size Used Avail
/dev/sda1    80G 70G  10G

目录:

du -sh /var/lib/docker


Docker

总体:

docker system df

例如:

TYPE            SIZE
Images          20GB
Containers      5GB
Volumes         10GB
Build Cache     35GB

详细:

docker system df -v


3. 查看进程

CentOS

ps aux | grep rabbitmq

或者:

pstree


Docker

查看容器里的进程:

docker top <container>

例如:

docker top rabbitmq

类似:

PID     USER
1234    rabbitmq


4. 查看日志

CentOS systemd

journalctl -u rabbitmq-server

实时:

journalctl -fu rabbitmq-server


Docker

查看:

docker logs rabbitmq

实时:

docker logs -f rabbitmq

最近100行:

docker logs --tail 100 rabbitmq


5. 查看网络

CentOS

接口:

ip addr

连接:

ss -tunlp

流量:

iftop


Docker

容器网络:

docker stats

例如:

NET I/O
10MB / 5MB

查看端口:

docker port rabbitmq

查看完整网络:

docker inspect rabbitmq


6. 查看 Docker 存储位置

CentOS:

df -h
du -sh /xxx

Docker:

默认:

/var/lib/docker

查看:

docker info | grep "Docker Root Dir"

例如:

Docker Root Dir: /var/lib/docker


7. 清理资源对应关系

LinuxDocker
删除临时文件docker system prune
查大目录du -sh
删除进程kill
删除软件包yum remove
清理缓存yum clean


8. Kubernetes 节点额外对应

你前面机器是:

k8s-node1

如果这是 K8s worker:

LinuxK8s
topkubectl top node
pskubectl get pods -o wide
systemctl status kubeletkubelet 状态
docker pskubectl get pods -A
docker logskubectl logs

例如:

节点资源:

kubectl top node

Pod:

kubectl top pod -A


最常用的几个命令组合:

# 看系统
df -h
top

# 看 Docker
docker system df
docker stats

# 看谁占空间
du -sh /var/lib/docker/* | sort -h

# 清缓存
docker builder prune -a


文章标签:

评论(0)