一键部署docker容器的shell脚本(美化的脚本输出)

脚本功能:停止原有容器,按照用户传入的参数启动新的容器

使用系统自带的方法需要安装依赖 yum install redhat-lsb

vi docker-deploy.sh

#!/bin/bash 
lsb_functions="/lib/lsb/init-functions"
if test -f $lsb_functions ; then
  . $lsb_functions
else
  init_functions="/etc/init.d/functions"
  if test -f $init_functions; then
    . $init_functions
  fi
  log_success_msg()
  {
      echo " SUCCESS! $@"
  }
  log_failure_msg()
  {
      echo " ERROR! $@"
  }
fi
if [[ $# -ne 2 ]];then  #如果输入的参数不是2个,提示脚本使用方法 
    log_failure_msg "Useage:$0 [ContainerName] [Image:Version]"
    exit 1
else
    if  [[ `docker ps | wc -l` -ge 2 ]];then  #运行的容器大于等于2停止容器 
        docker stop `docker ps -q`
    fi
    docker run -d --name=$1 $2
    if [[ `docker ps | wc -l` -lt 2 ]];then  #运行的容器小于2提示容器运行失败 
        log_failure_msg "Docker Run Error"
        exit 1
    else
        log_success_msg "Docker Run Successfully"
    fi
fi

脚本使用方法:

1、chmod +x docker-deploy

2、sh docker-deploy 容器名称 镜像名称:版本号

示例:sh docker-deploy nginx nginx:1.20.1

 

posted @ 2023-07-26 13:11  吃吃吃大王  阅读(278)  评论(0)    收藏  举报