check-docker-connection
主要用于监控 Docker
容器的网络连接情况。它可以显示指定容器的网络连接状态,包括 TCP
和 UDP
连接的数量。
用户可以通过容器 ID
或名称来指定要监控的容器,或者指定显示连接数最多的前 N 个容器。输出结果以表格形式展示,方便用户查看。
列出指定容器的网络连接状态,包括:
Docker
。netstat
和 nsenter
命令,以便访问容器的网络命名空间。如果没有,请自行安装,各大发行版上通常都是 net-tools
和 util-linux
包。-c
: 指定一个或多个容器的 ID 或名称,多个容器用逗号分隔。-n
: 显示连接数最多的前 N 个容器。注意:-c
和 -n
参数不能同时使用。
$ docker run --rm -v /var/run/docker.sock:/var/run/docker.sock --pid=host --net=host --privileged 80imike/check-docker-connection
注意事项:
check-docker-connection
需要访问 Docker socket
,所以我们挂载了 /var/run/docker.sock
。--pid=host
和 --net=host
来允许容器访问主机的进程和网络命名空间。--privileged
标志允许容器使用 nsenter
命令。要监控名为 traefik
的容器,可以使用以下命令:
$ docker run --rm -v /var/run/docker.sock:/var/run/docker.sock --pid=host --net=host --privileged 80imike/check-docker-connection -c traefik
这将输出该容器的所有网络连接状态。
要监控多个容器,例如 traefik
和 splayer
,可以使用以下命令:
$ docker run --rm -v /var/run/docker.sock:/var/run/docker.sock --pid=host --net=host --privileged 80imike/check-docker-connection -c traefik,splayer
这将显示这两个容器的网络连接状态。
要显示连接数最多的前 3 个容器,可以使用以下命令:
$ docker run --rm -v /var/run/docker.sock:/var/run/docker.sock --pid=host --net=host --privileged 80imike/check-docker-connection -n 3
这将输出连接数最多的三个容器的网络连接状态。
通过以上示例,用户可以轻松地监控 Docker 容器的网络连接状态,帮助进行网络性能分析和故障排查。