首页 > 系统相关 >一键部署docker容器的shell脚本(美化的脚本输出)

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

时间:2023-07-26 13:23:35浏览次数:52  
标签:脚本 容器 functions shell lsb log init docker

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

使用系统自带的方法需要安装依赖 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

 

标签:脚本,容器,functions,shell,lsb,log,init,docker
From: https://www.cnblogs.com/hm1825/p/17582201.html

相关文章

  • docker底层实现
    目录1、基本架构2、名字空间2.1pid名字空间2.2net名字空间2.3ipc名字空间2.4mnt名字空间2.5uts名字空间2.6user名字空间3、控制组4、联合文件系统5、容器格式6、Docker网络实现6.1基本原理6.2创建网络参数6.3网络配置细节(1)基本架构(2)名字空间•pid名字空间......
  • postman 常用脚本
    1.登录成功之后,在header中获取cookie,并设置成环境变量//获取cookie值var jsondata = postman.getResponseHeader("set-cookie");console.log(jsondata)//设置成环境变量data = jsondata.split(";")[0];data = data.split("=")console.log(data)postman.setEnviro......
  • docker 获取某个时间段的日志
    dockerlogs--since='2023-07-26T01:50:00'--until='2023-07-26T03:00:00'abbccdd  >aaaa0726.log2>&1TRANSLATEwithxEnglishArabicHebrewPolishBulgarianHindiPortugueseCatalanHmongDawRomanianChin......
  • Docker minIO部署
    dockerrun-it-p8888:8888-d\--net=host\--nameminio\--restart=always\-e"MINIO_ROOT_USER=<username>"\-e"MINIO_ROOT_PASSWORD=<password>"\-v/home/mi......
  • vue : 无法加载文件 C:\Users\jianfei\AppData\Roaming\npm\vue.ps1,因为在此系
    背景在新电脑上配置vue环境PSE:\CODE_PROJ\myvue\vue23\P61_使用脚手架\vue_test>npminstall-g@vue/[email protected]:Seehttps://github.com/lydell/source-map-url#[email protected]:Pleaseseehttps://github......
  • wsl启动docker容器出错
    错误信息Errorinvokingremotemethod'docker-start-container':Error:(HTTPcode500)servererror-Portsarenotavailable:exposingportTCP0.0.0.0:3306->0.0.0.0:0:listentcp0.0.0.0:3306:bind:Anattemptwasmadetoaccessasocketina......
  • Shell命令
    ......
  • CentOS Docker安装
    安装命令: #卸载旧版dockeryumremovedocker\docker-client\docker-client-latest\docker-common\docker-latest\docker-latest-logrotate\docker-logrotate\docker-engine #安装依赖包yuminstall-yyum-utils\device-mapper-persistent-data\lvm2......
  • Shell正则表达式
    Shell正则表达式正则表达式的分类基本的正则表达式(BasicRegularExpression又叫BasicRegEx简称BREs)扩展的正则表达式(ExtendedRegularExpression又叫ExtendedRegEx简称EREs)Perl的正则表达式(PerlRegularExpression又叫PerlRegEx简称PREs)基本组成部分正则......
  • Shell - readlink
    $>infocoreutils'readlinkinvocation'File:coreutils.info,Node:readlinkinvocation,Next:rmdirinvocation,Prev:mknodinvocation,Up:Specialfiletypes12.6'readlink':Printvalueofasymlinkorcanonicalfilename==......