#/bin/bash svr_name=crawler-etl deploy() { ips=($@) for i in "${!ips[@]}" do if [ $i -gt 1 ]; then ip=${ips[$i]} echo $ip "发布中..." scp /home/server-deploy/crawler-etl.sh $ip:/home/crawler-etl.sh ssh $ip "bash /home/crawler-etl.sh restart $2" echo $ip "发布完成!" fi done } start() { CID=$(docker ps -a | grep $svr_name | awk '{print $1}') if [ ! $CID ]; then docker run -d --restart=always --name $svr_name -p 32783:8080 registry-vpc.cn-hangzhou.aliyuncs.com/stuuudy/crawler-etl-server:$1 echo "$svr_name 启动" else echo "$svr_name 容器已经存在" fi } stop() { CID=$(docker ps -a | grep $svr_name | awk '{print $1}') if [ ! $CID ]; then echo "$svr_name 没有运行" else echo "正在停止 $svr_name " docker stop $CID docker rm $CID fi } update() { CID=$(docker ps -a | grep $svr_name | awk '{print $1}') IMAGE_ID=$(docker images | grep $svr_name | awk '{print $3}') if [ ! $CID ]; then echo "本地无镜像,直接pull" docker pull registry-vpc.cn-hangzhou.aliyuncs.com/stuuudy/crawler-etl-server:$1 else echo "停止本地容器->删除本地镜像->pull镜像" docker stop $CID docker rm $CID docker rmi $IMAGE_ID docker pull registry-vpc.cn-hangzhou.aliyuncs.com/stuuudy/crawler-etl-server:$1 fi } case "$1" in 'deploy') deploy $@ ;; 'start') start $2 ;; 'stop') stop ;; 'restart') stop start $2 ;; 'update') update $2 start $2 ;; *) echo"Usage: $0 {start|stop|restart|update}" exit 1 ;; esac