根据端口获取镜像名称

#!/usr/bin/env bash
# __Author__="liy"
# 根据容器内使用的客户端端口查找对应的镜像是哪个,使用此脚本即可查询。
port="$1"
function check_env(){
if [ -z "$port" ];then
echo -e "\033[31mUsage: $0 <port>\033[0m"
exit 1
fi
which conntrack &>/dev/null
if [ $? -ne 0 ];then
echo -e "\033[31myum install conntrack-tools|apt install conntrack\033[0m"
exit 2
fi
}
function get_image(){
ip=$(conntrack -L |grep "$port"|grep -Po "(?<=src\=)[\d.]+"|sort -t"." -k1,1n -k2,2n -k3,3n -k4,4n |uniq|xargs| tr ' ' '|') > /dev/null
for id in $(docker ps -q)
do
docker inspect $id |grep -P "($ip)" &>/dev/null
if [ $? -eq 0 ];then
echo -e "\033[32mimage:$(docker ps |grep $id |awk '{print $2}')\033[0m"
fi
done
}
function main(){
check_env
get_image
}
main
posted @   liy36  阅读(86)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示