{"id":17661,"date":"2024-09-29T15:33:39","date_gmt":"2024-09-29T07:33:39","guid":{"rendered":"https:\/\/blog.ywdevops.cn\/?p=17661"},"modified":"2024-09-29T15:33:49","modified_gmt":"2024-09-29T07:33:49","slug":"docker-14","status":"publish","type":"post","link":"https:\/\/blog.ywdevops.cn\/index.php\/2024\/09\/29\/docker-14\/","title":{"rendered":"\u6839\u636e\u7aef\u53e3\u83b7\u53d6\u5bf9\u5e94\u7684Docker\u5bb9\u5668\u540d\u5b57"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">\u672c\u811a\u672c\u53ef\u6839\u636e\u670d\u52a1\u5668\u4e0a\u8fd0\u884c\u7684\u7aef\u53e3\u6765\u83b7\u53d6\u7aef\u53e3\u5bf9\u5e94\u7684docker\u5bb9\u5668\u540d\uff0c\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#!\/bin\/bash\n: '\n  @function: \u6839\u636eTCP\u7aef\u53e3\u83b7\u53d6\u8fd0\u884c\u7684docker\u5bb9\u5668\u540d\n  @author: gongguan\n  @datetime: 2024-08-20\n'\nusage() {\n    echo \"Usage: $0 &#91;OPTION]....\"\n    echo\n    echo \"Options:\"\n    echo \"  -h,  --help     display this help and exit\"\n    echo \"  -v,  --version  output version information and exit\"\n    echo \"  -p   --port     specify the port,expample: sh $0 -p 1000\"\n}\n#\u6839\u636e\u4f20\u8fc7\u6765\u7684\u7aef\u53e3\u53c2\u6570\u6765\u83b7\u53d6\u5bb9\u5668\u7684id\ngdp(){\n   dpid=$(netstat -lntup |grep -w $1 | sed -n \"1p\" | awk '{print $7}' | awk -F \"\/\" '{print $1}')\n   rs=$(netstat -lntup |grep -w $1  | awk '{print $7}' | awk -F \"\/\" '{print $2}' | sed -n \"1p\")\n   if &#91; -n \"${rs}\" ];then\n       #\u5982\u679c\u83b7\u53d6\u7684rs\u4e3adocker-proxy,\u8bf4\u660e\u5bb9\u5668\u901a\u8fc7\u2014p\u6620\u5c04\u7684\u7aef\u53e3\n       if &#91;&#91; \"${rs}\" = \"docker-proxy\" ]];then\n           for i in $(docker ps -q)\n           do\n                  host_port=$(docker inspect ${i} | grep -i HostPort | grep -w $1 | sed -n \"1p\" |awk -F \":\" '{print $2}' | sed \"s\/\\\"\/\/g\" | sed \"s\/ \/\/g\")\n                  if &#91;&#91; \"$1\" = \"$host_port\" ]];then\n                      echo \"\u5f53\u524d\u7aef\u53e3\u6240\u5728\u5bb9\u5668ID\u4e3a: $i\"\n                  fi\n           done\n       else    #\u5426\u5219,\u5bb9\u5668\u662f\u901a\u8fc7--net=host\u6765\u542f\u52a8\u7684\n          pid=$(ps -fp ${dpid} | grep -v -i pid |awk '{print $2}')\n          ppid=$(ps -fp ${dpid} | grep -v -i ppid |awk '{print $3}')\n          #\u5982\u679cppid\u4e3a1,\u90a3\u4e48\u4e0d\u662f\u901a\u8fc7\u5bb9\u5668\u65b9\u5f0f\u8fd0\u884c\u7684,\u800c\u662f\u672c\u5730\n          if &#91;&#91; ${ppid} != 1 ]];then\n              for i in $(docker ps -q)\n              do\n                    #\u5728\u5bb9\u5668\u8be6\u60c5\u4e2d\u53d1\u73b0\u4e86pid\u6216\u8005ppid,\u8bf4\u660e\u5f53\u524d\u5f53\u524d\u5bb9\u5668\u5c31\u662f\u8981\u627e\u7684\n                    if &#91;&#91; -n $(docker inspect ${i} | grep -E -w \"${pid}|${ppid}\") ]];then\n                           echo \"\u5f53\u524d\u7aef\u53e3\u6240\u5728\u5bb9\u5668ID\u4e3a: $i\"\n                    else\n                           #\u5982\u679c\u6ca1\u6709pid\u6216\u8005ppid,\u53ef\u80fd\u662f\u4f7f\u7528\u4e86centos\u8fd9\u79cd\u57fa\u7840\u955c\u50cf\u6765\u91cd\u65b0\u6784\u5efa\u7684\u955c\u50cf,\u5e76\u5728\u5185\u90e8\u8fd0\u884c\u4e86\u67d0\u4e9b\u7aef\u53e3,\u7136\u540e\u901a\u8fc7--net=host\u542f\u52a8\n                           host_port=$(docker inspect ${i} | grep -i HostPort | grep -w $1 | sed -n \"1p\" |awk -F \":\" '{print $2}' | sed \"s\/\\\"\/\/g\" | sed \"s\/ \/\/g\")\n                           if &#91;&#91; \"$1\" = \"$host_port\" ]];then\n                              echo \"\u5f53\u524d\u7aef\u53e3\u6240\u5728\u5bb9\u5668ID\u4e3a: $i\"\n                           fi\n                    fi\n              done\n          else\n              echo \"\u6b64\u7aef\u53e3\u53ef\u80fd\u8fd0\u884c\u5728\u672c\u5730\u670d\u52a1${rs}\u4e2d!!!!!!\"\n          fi\n       fi\n  else \n     echo \"\u6ca1\u6709\u53d1\u73b0$1\u7aef\u53e3(Port  $1 Not Found)!!!!!\"\n  fi\n}\n#\u5982\u679c\u811a\u672c\u7684\u53c2\u6570\u4e3a0,\u6253\u5370usage\nif &#91;  $# -eq 0  ];then\n    usage\nelse \n    key=\"$1\"\n    case $key in\n      -h | help)\n      usage\n      exit 0\n      ;;\n      -v | --version)\n      echo \"Script Version 1.0\"\n      exit 0\n      ;;\n      -p | --port )\n      pt=$2\n      if &#91; -n \"$pt\" ];then\n         gdp \"${pt}\"\nelse \n         usage\n      fi\n      ;;\n      *)\n      echo \"Error:  \u672a\u77e5\u7684\u9009\u9879: $1\"\n      echo\n      echo\n      usage\n      exit 1\n      ;;\n   esac\nfi\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u4f7f\u7528\u65b9\u6cd5\u5982\u4e0b\uff1a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">bah getdocker.sh -p  \u7aef\u53e3<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"696\" height=\"215\" src=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2024\/09\/13.jpg\" alt=\"\" class=\"wp-image-17662\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2024\/09\/13.jpg 696w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2024\/09\/13-300x93.jpg 300w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2024\/09\/13-600x185.jpg 600w\" sizes=\"auto, (max-width: 696px) 100vw, 696px\" \/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>\u672c\u811a\u672c\u53ef\u6839\u636e\u670d\u52a1\u5668\u4e0a\u8fd0\u884c\u7684\u7aef\u53e3\u6765\u83b7\u53d6\u7aef\u53e3\u5bf9\u5e94\u7684docker\u5bb9\u5668\u540d\uff0c\u5982\u4e0b\uff1a \u4f7f\u7528\u65b9\u6cd5\u5982\u4e0b\uff1a bah getdoc [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":17663,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[107],"tags":[],"class_list":["post-17661","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-script"],"blocksy_meta":{"styles_descriptor":{"styles":{"desktop":"","tablet":"","mobile":""},"google_fonts":[],"version":8}},"_links":{"self":[{"href":"https:\/\/blog.ywdevops.cn\/index.php\/wp-json\/wp\/v2\/posts\/17661","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.ywdevops.cn\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.ywdevops.cn\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.ywdevops.cn\/index.php\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.ywdevops.cn\/index.php\/wp-json\/wp\/v2\/comments?post=17661"}],"version-history":[{"count":1,"href":"https:\/\/blog.ywdevops.cn\/index.php\/wp-json\/wp\/v2\/posts\/17661\/revisions"}],"predecessor-version":[{"id":17664,"href":"https:\/\/blog.ywdevops.cn\/index.php\/wp-json\/wp\/v2\/posts\/17661\/revisions\/17664"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.ywdevops.cn\/index.php\/wp-json\/wp\/v2\/media\/17663"}],"wp:attachment":[{"href":"https:\/\/blog.ywdevops.cn\/index.php\/wp-json\/wp\/v2\/media?parent=17661"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.ywdevops.cn\/index.php\/wp-json\/wp\/v2\/categories?post=17661"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.ywdevops.cn\/index.php\/wp-json\/wp\/v2\/tags?post=17661"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}