脚本功能:停止原有容器,按照用户传入的参数启动新的容器
使用系统自带的方法需要安装依赖 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