docker容器替换脚本

docker 容器替换脚本如下,可供参考

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
# 定义日志函数 log() { echo -e "\e[$1m ========== $2 ========== \e[0m\n\n" } # 容器/镜像名称变量 if [ -n "$1" ]; then name=$1 else log 31 请输入镜像名称 exit 1 fi # 0.替换容器信息 echo -e "\n" containerName=`docker ps | grep ${name%:*} | awk '{print $NF}'` imageName=`docker ps | grep ${name%:*} | awk '{print $2}'` echo -e "container-name -------- ${containerName}" echo -e "image-name -------- ${imageName}" log 32 被替换容器信息 # 1.创建镜像 docker build -t $name . || ! log 31 创建镜像失败:dockerfile文件与测试环境不一致 || exit log 32 创建镜像成功 # 2.删除容器 docker ps -a | grep ${name%:*} docker rm -f `docker ps -a | grep ${name%:*} | awk '{print $1}'` log 32 删除容器成功 # 3.创建容器 context_num1=`cat -n /paasdata/imopscm/docker_run_commands_for_apps | grep "${name%:*}" |grep "service_name"| awk 'END {print $1}'` context_num2=`cat -n /paasdata/imopscm/docker_run_commands_for_apps | grep "${name%:*}:" | awk 'END {print $1}'` num1=$((context_num1+1)) num2=$((context_num2-1)) run_commands=`sed -n "${num1},${num2}p" /paasdata/imopscm/docker_run_commands_for_apps`" ${name}" run_commands=${run_commands//\\/ } echo $run_commands eval $run_commands log 32 创建容器成功 # 4.查看容器状态 docker ps | grep ${name%:*} log 32 服务正在启动,大概需要1分钟,请稍后... while [ `docker ps | grep $name | grep starting | wc -l` -eq 1 ]; do : done docker ps | grep ${name%:*} log 32 服务启动成功

使用示列

 
1
sh replace_img_v2.sh monitor-iui:V16.23.20.11
雪花 loading 实现归档
webGL概念和基础入门
评论
luoqiangweb开发China
文章29
分类13
标签7