这是一个可以实现您要求的脚本。注意,这个脚本需要使用 sudo 权限执行,因为它需要访问系统底层的信息。
#!/bin/bash
# 查看所有已经使用的端口
echo "Using netstat:"
netstat -tulpn
echo
# 查看所有正在运行的 Docker 容器使用的端口
echo "Using Docker:"
docker ps --format '{{.Names}}: {{.Ports}}'
echo
# 查看所有在 Kubernetes 集群中的 Pod 使用的端口
echo "Using Kubernetes:"
kubectl get pods --all-namespaces -o jsonpath='{.items[*].spec.containers[*].ports[*].containerPort}'
执行这个脚本之后,您将能够看到所有使用的端口。使用 netstat 命令可以查看系统中所有已经使用的端口,使用 Docker 命令可以查看所有正在运行的 Docker 容器使用的端口,使用 Kubernetes 命令可以查看所有在 Kubernetes 集群中的 Pod 使用的端口。