好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > 使用Shell腳本批量啟停Docker服務(wù)

使用Shell腳本批量啟停Docker服務(wù)

熱門標簽:外呼系統(tǒng)虛擬號碼 代理外呼系統(tǒng)創(chuàng)業(yè) 大連電銷外呼系統(tǒng)運營商 接電話機器人罵人 長春電銷外呼系統(tǒng)代理商 400電話干嘛怎么申請信用卡 400電話申請知乎 百度地圖標注尺寸無法顯示 泰州智能外呼系統(tǒng)排名

最近日常測試中經(jīng)常需要手動啟動或停止docker,于是決定寫一個Shell腳本來代替人工操作,另外該腳本,也可以通過Python腳本實行遠程調(diào)用,詳細如下所示:

目前該腳本是將Container ID寫死在腳本中,當然也可以通過傳參給腳本來進行控制,大家可以改造一下。

啟動docker

啟動腳本詳細如下所示:

#!/bin/bash
containerIDs="ad3e4d7fc407 a228730a915f ad3e4d7fc4099"
statusLived="live"
statusdead="Dead"
notExistContainer="None"
retryCount=3
function GetContainerStatus(){
 containerExist=$(sudo docker ps -a | grep -i $1 | wc -l ) 
 if [ ${containerExist} -gt 0 ]
  then
  pid=$(sudo docker stats --format "{{.PIDs}}" --no-stream $1 )
  if [ "${pid}" != "0" ]
   then 
   echo "${statusLived}"
  else
   echo "${statusdead}"
  fi
 else
  echo "${notExistContainer}" 
 fi
}
function StartContainer(){
 sudo docker restart $1
}
for containerID in ${containerIDs}
 do
 for((i=1;i<=${retryCount};i++))
 do
 status=$(GetContainerStatus ${containerID} )
 echo "Container ${containerID} status is ${status}"
 if [ "${status}" == ${statusLived} ]
  then
  echo "Container ${containerID} already running"
  break
 fi
 if [ "${status}" == ${notExistContainer} ]
  then
  echo "Container ${containerID} not existed"
  break
 fi
 if [ "${status}" == ${statusdead} ]
  then
  echo "Container ${containerID} stopped ,start container"
  StartContainer ${containerID}
  verifyStatus=$(GetContainerStatus ${containerID} )
  if [ "${verifyStatus}" == ${statusLived} ]
   then
    echo "start container ${containerID} success "
    break
  else
   echo "${i} retry start container"
   StartContainer ${containerID}
  fi
 fi
 done
done

停止docker

停止腳本詳細如下所示:

#!/bin/bash
containerIDs="589bda1309cd ad3e4d7fc407 a228730a915f ad3e4d7fc4099"
statusLived="live"
statusdead="Dead"
notExistContainer="None"
retryCount=3
function GetContainerStatus(){
 containerExist=$(sudo docker ps -a | grep -i $1 | wc -l ) 
 if [ ${containerExist} -gt 0 ]
  then
  pid=$(sudo docker stats --format "{{.PIDs}}" --no-stream $1 )
  if [ "${pid}" != "0" ]
   then 
   echo "${statusLived}"
  else
   echo "${statusdead}"
  fi
 else
  echo "${notExistContainer}" 
 fi
}
function StopContainer(){
 sudo docker stop $1
}
for containerID in ${containerIDs}
 do
 for ((i=1;i<=${retryCount};i++))
 do
  status=$(GetContainerStatus ${containerID} )
  echo "Container ${containerID} status is ${status}"
  if [ "${status}" == ${statusdead} ]
  then
  echo "Container ${containerID} already stopped"
  break
  fi
  if [ "${status}" == ${notExistContainer} ]
  then
  echo "Container ${containerID} not existed"
  break
  fi
  if [ "${status}" == ${statusLived} ]
  then
   echo "Container ${containerID} is lived ,stop container"
   StopContainer ${containerID}
   verifyStatus=$(GetContainerStatus ${containerID} )
   if [ "${verifyStatus}" == ${statusdead} ]
   then
    echo "stop container ${containerID} success "
    break
   else
   echo "${i} retry stop container"
   StopContainer ${containerID}
   fi
  fi
 done
done

Python調(diào)用腳本

Python示例腳本如下所示:

import paramiko
def StartContainer(svr,port,user,pwd):
 client = paramiko.SSHClient()
 client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
 client.connect(svr,port=port, username=user, password=pwd,timeout=5)
 client.exec_command("cd /home/TestCode/ && bash startContainer.sh")
def StopContainer(svr,port,user,pwd):
 client = paramiko.SSHClient()
 client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
 client.connect(svr, port=port, username=user, password=pwd, timeout=5)
 client.exec_command("cd /home/TestCode/ && bash stopContainer.sh ")

總結(jié)

以上所述是小編給大家介紹的使用Shell腳本批量啟停Docker服務(wù),希望對大家有所幫助!

標簽:清遠 雅安 大慶 中衛(wèi) 臺灣 興安盟 安陽 長治

巨人網(wǎng)絡(luò)通訊聲明:本文標題《使用Shell腳本批量啟停Docker服務(wù)》,本文關(guān)鍵詞  使用,Shell,腳本,批量,啟停,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《使用Shell腳本批量啟停Docker服務(wù)》相關(guān)的同類信息!
  • 本頁收集關(guān)于使用Shell腳本批量啟停Docker服務(wù)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 疯狂做爰XX吃胸| 亚洲一区二区三区夜色| 动漫?c??黄扒衣服做小电影| 白上之黑无删减版在线| 好爽?好紧?老师别夹视频| 色先锋影音岛国AV资源| ririai66国产在线观看| 男人强行脱女人衣服扒开摸双胸视频 | 年代文H巨肉多荤文高H| 综合欧美五月丁香五月| 韩国午夜理伦三级2020韩| 九九热这里有精品| 久久久久久精品免费看A片黄瓜 | 拍裸戏时被C了H辣文小说| 日本三级在丈面前被耍了| 老司机午夜性大片| 两性性爽视频片| 亚洲国产七七久久桃花| 国产无套丰满白嫩对白| 调教play强制女攻小说| 插女生下面视频| 欧美老熟妇性生交大片A片斗地主| 大胸美女好看视频全身无遮挡| 性欧美高清短视频免费| 成人免播放器午夜视频| 乖,我会很温柔的,不会伤到你小说 | 婷婷激情片| 91午夜剧场| 456亚洲成aV人电影| 蜜月av国内精品久久久夜夜| 色淫小说有声网站免费听| 美女极品美軳20p| 欧美性受zzzzzzzzzz| 太子妃在花园被侍卫群c| 亚洲好逼| 性欲超市| 日韩一级精品视频在线观看| 91精品国产人妻一区二区三区 | 欧美另类xxxx| chinese69videos国产hd| 丝袜A片午夜www丝袜|