镜像重新build在启动

#! /bin/bash

#设置根目录 当前路径
basePath=$(cd "$(dirname "$0")";pwd)

echo "global arg, basePath is:" $basePath

function rebuildImageAndRun(){
    _dockerfile_path=$1
    #echo "_dockerfile_path is:" $_dockerfile_path
    
    _jar_name=$2
    #echo "_jar_name is:" $_jar_name
    
    _docker_name=$3
    #echo "_docker_name is:" $_docker_name
    
    _docker_version=$4
    #echo "_docker_version is:" $_docker_version
    
    _mirror_name_version=$3:$4
    #echo "_mirror_name_version is:" $_mirror_name_version
    
    _port=$5
    #echo "_port is:" $_port
	
 if [ -f "$_dockerfile_path/Dockerfile" ];then
	cd  $_dockerfile_path
        # 删除容器 container
        _container_id=$(docker ps -aq --filter ancestor=$_mirror_name_version)
        echo "_container_id is:" $_container_id
        
        if [ $_container_id ]; then
        	 echo "delete container:" $_mirror_id
             docker rm -f $_container_id
        fi 
        
        # 删除镜像 mirror
        _mirror_id=$(docker images -q --filter reference=$_mirror_name_version)
        echo "_mirror_id is:" $_mirror_id
        
        if [ $_mirror_id ]; then
        	 echo "delete mirror:" $_mirror_id
             docker rmi -f $_mirror_id
        fi 
        
        # 重新build 镜像
	    docker build -t $_mirror_name_version .
        
        # 启动容器 
	    #echo "docker run -d -p $_port:$_port $_mirror_name_version --name $_docker_name"
        docker run -d -p $_port:$_port $_mirror_name_version --name $_docker_name
  else
    echo "error, $_dockerfile_path/Dockerfile is not exist !!"
  fi
  # 返回文件所在目录
  cd $basePath
}

# 1、test 镜像
echo "--- build test images begin"
# 参数之间使用空格区分 ,参数1:dockerfile 所在目录  参数2:jar包名称  参数3:镜像名称  参数4:镜像标签 参数5 映射端口
rebuildImageAndRun $basePath com.kaiwen-1.0-SNAPSHOT.jar test latest 28000
echo "--- build test images end"

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值