docker启动shell

#操作/项目路径(Dockerfile存放的路劲)
BASE_PATH=/home/project
# 源jar路径  
SOURCE_PATH=/var/lib/jenkins/workspace
#项目名称
PROJECT_NAME=Eureka
#docker 镜像/容器名字或者jar名字 这里都命名为这个
SERVER_NAME=eureka-0.0.1-SNAPSHOT
#容器id
CID=$(docker ps | grep "eureka" | awk '{print $1}')
#镜像id
IID=$(docker images | grep "eureka" | awk '{print $3}')
 
DATE=`date +%Y%m%d%H%M`
 
# 最新构建代码 移动到项目环境
function transfer(){
    echo "最新构建代码 $SOURCE_PATH/$PROJECT_NAME/target/$SERVER_NAME.jar 迁移至 $BASE_PATH ...."
        cp $SOURCE_PATH/$PROJECT_NAME/target/$SERVER_NAME.jar $BASE_PATH/eureka.jar
    echo "迁移完成"
}
 
# 备份
function backup(){
    if [ -f "$SOURCE_PATH/$PROJECT_NAME/target/$SERVER_NAME.jar" ]; then
        echo "$SERVER_NAME.jar 备份..."
            cp $SOURCE_PATH/$PROJECT_NAME/target/$SERVER_NAME.jar $BASE_PATH/backup/$SERVER_NAME-$DATE.jar
        echo "备份 $SERVER_NAME.jar 完成"
    else
        echo "$BASE_PATH/$SERVER_NAME.jar不存在,跳过备份"
    fi
}
 
# 构建docker镜像
function build(){
    #清除旧容器
    if [ -n "$CID" ]; then
        echo "存在eureka容器,CID=$CID"
        echo "停止旧容器"
        docker stop eureka
        echo "删除旧容器"
        docker rm eureka
    fi

    # 清楚旧镜像
    if [ -n "$IID" ]; then
        echo "存在eureka镜像,IID=$IID"
        echo "删除镜像"
        docker rmi $IID
    fi

    #构建镜像
    echo "开始构建镜像"
    cd $BASE_PATH
    docker build -t eureka .
    echo "构建镜像成功!"


    # 运行docker容器
    echo "创建并启动eureka容器..."
    docker run --name eureka -v $BASE_PATH:$BASE_PATH -d -p 7001:7001 eureka
    echo "eureka容器启动完成"
}
 
# 运行docker容器
function run(){
    backup
    transfer
    build
}
 
#入口
run    

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值