根据端口获取镜像名称

发布时间:2022-06-26 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了根据端口获取镜像名称脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
#!/usr/bin/env bash
# __Author__="liy"
# 根据容器内使用的客户端端口查找对应的镜像是哪个,使用此脚本即可查询。


port="$1"
function check_env(){
        if [ -z "$port" ];then
                echo -e "33[31mUsage: $0 <port>33[0m"
                exit 1
        fi
    
        which conntrack &>/dev/null
        if [ $? -ne 0 ];then
                echo -e "33[31myum install conntrack-tools|apt install conntrack33[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 "33[32mimage:$(docker ps |grep $id |awk '{print $2}')33[0m"
                fi
        done
}


function main(){
        check_env
        get_image
}

main

脚本宝典总结

以上是脚本宝典为你收集整理的根据端口获取镜像名称全部内容,希望文章能够帮你解决根据端口获取镜像名称所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: