查看docker容器的资源使用详情

本文详细介绍如何使用DockerStats命令查看Docker容器的资源使用情况,包括CPU使用率、内存使用情况、网络I/O数据等,并提供了多种命令参数的用法,如--no-stream、--format和JSON格式输出。

docker stats 查看docker容器资源使用情况

1. 通过 docker stats 命令,获取容器状态,1秒刷新一次
docker stats

输出结果:

CONTAINER ID        NAME                    CPU %               MEM USAGE / LIMIT     MEM %               NET I/O             BLOCK I/O           PIDS
b67619b9b90b        test_v19                0.00%               61.48MiB / 15.42GiB   0.39%               220MB / 3.54MB      124MB / 9.18MB      2
822c904930d0        test_v18                0.00%               728KiB / 15.42GiB     0.00%               745kB / 0B          69.6kB / 0B         1
46063008a4ba        test_v2                 0.00%               1.641MiB / 15.42GiB   0.01%               1.29MB / 0B         9.24MB / 94.2kB     1
1d70b6bfa663        test_v1                 0.00%               1.012MiB / 15.42GiB   0.01%               1.29MB / 0B         0B / 160kB          1
0f6cccf26d2a        test_opencv_v18         0.00%               652KiB / 15.42GiB     0.00%               1.85MB / 0B         0B / 0B             1
e5a6fdc4a71f        test_opencv_v17         0.00%               24.81MiB / 15.42GiB   0.16%               33MB / 30.8kB       187MB / 384MB       1

默认情况下,stats 命令会每隔 1 秒钟刷新一次输出的内容直到你按下 ctrl + c。
下面是输出的主要内容:

  • [CONTAINER]:以短格式显示容器的 ID
  • [CPU %]:CPU 的使用情况
  • [MEM USAGE / LIMIT]:当前使用的内存和最大可以使用的内存
  • [MEM %]:以百分比的形式显示内存使用情况
  • [NET I/O]:网络 I/O 数据
  • [BLOCK I/O]:磁盘 I/O 数据
  • [PIDS]:PID 号
2. 通过 docker stats 命令,获取容器状态,只获取一次结果
docker stats --no-stream
3. 通过 docker stats 命令,只查看某个容器的状态
$ docker stats --no-stream test_opencv_v8
CONTAINER ID        NAME                CPU %               MEM USAGE / LIMIT   MEM %               NET I/O             BLOCK I/O           PIDS
f53de4735f7e        test_opencv_v8      0.00%               564KiB / 15.42GiB   0.00%               7.11MB / 0B         0B / 0B             1
4. 通过 docker stats 命令,按指定的格式获取容器的资源信息

docker stats --no-stream --format “table {{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}”

$ docker stats --no-stream test_opencv_v8  --format "table {{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}"
NAME                CPU %               MEM USAGE / LIMIT
test_opencv_v8      0.00%               564KiB / 15.42GiB
5. 通过 docker stats 命令,获取容器状态的 json 信息

docker stats --format “{“container”:”{{ .Container }}",“memory”:{“raw”:"{{ .MemUsage }}",“percent”:"{{ .MemPerc }}"},“cpu”:"{{ .CPUPerc }}"}"

$ docker stats --no-stream test_opencv_v8  --format "{\"container\":\"{{ .Container }}\",\"memory\":{\"raw\":\"{{ .MemUsage }}\",\"percent\":\"{{ .MemPerc }}\"},\"cpu\":\"{{ .CPUPerc }}\"}"
{"container":"test_opencv_v8","memory":{"raw":"564KiB / 15.42GiB","percent":"0.00%"},"cpu":"0.00%"}
查看Docker容器资源使用情况,可以使用以下几种方法: 1. **使用`docker stats`命令**: `docker stats`命令可以实时显示每个容器CPU、内存、网络I/O和存储I/O的使用情况。 ```sh docker stats ``` 这个命令会列出所有运行中的容器及其资源使用情况。 2. **使用`docker inspect`命令**: `docker inspect`命令可以获取容器的详细配置信息,包括资源限制和实际使用情况。 ```sh docker inspect <container_id> ``` 其中`<container_id>`是容器的ID或名称。 3. **使用Docker的图形化界面工具**: Docker提供了一些图形化界面工具,如Portainer,可以更直观地查看容器资源使用情况。 - 安装Portainer: ```sh docker volume create portainer_data docker run -d -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer ``` - 访问Portainer: 打开浏览器,访问`http://<host_ip>:9000`,即可看到容器资源使用情况。 4. **使用`cAdvisor`监控工具**: `cAdvisor`是Google开源的一款容器监控工具,可以实时监控容器资源使用情况。 - 运行cAdvisor: ```sh docker run -d --volume=/:/rootfs:ro --volume=/var/run:/var/run:rw --name=cadvisor google/cadvisor ``` - 访问cAdvisor: 打开浏览器,访问`http://<host_ip>:8080`,即可看到容器资源使用情况。 通过以上方法,你可以全面了解Docker容器资源使用情况,从而进行相应的优化和管理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值