docker jenkins shell 脚本 自动打包部署

#docker仓库地址和镜像名称:版本
#TAG=${tag}
TAG=`date +%Y%m%d-%H%M%S`    # 时间TAG
IMAGENAME='demo'	 # 镜像名称
REPOSITORY=$IMAGENAME:$TAG
STOPIMAGE=$IMAGENAME
DOCKERPORT=8200	     # docker映射端口
PROJECTPORT=8080	 
# Dockerfile文件
cat > Dockerfile << EOF
FROM java:8
VOLUME /tmp
ADD $module/target/*.jar app.jar
RUN bash -c "touch /app.jar"
ENTRYPOINT ["java","-Xms128m","-Xmx128m","-XX:MetaspaceSize=128m","-XX:MaxMetaspaceSize=128m", "-Dfile.encoding=UTF-8","-Duser.timezone=GMT+8", "-jar" ,"app.jar"]
ENV LANGUAGE C.UTF-8 
ENV LC_ALL C>UTF-8
EOF
# 1、删除启动的容器
echo '开始停止并删除'${env}'容器'
docker stop `docker ps -a| grep demo| awk '{print \$1}'`
docker rm `docker ps -a| grep demo| awk '{print \$1}'`
# 2、删除旧镜像
docker rmi $(docker images | grep producemanage | awk '{print $3}') &&
echo "旧镜像已删除!!!!!!!!"
# 3、build新的镜像
docker build -t $IMAGENAME:$TAG .
echo '创建新的'${env}'容器'
# 4、执行
docker run -d -p $DOCKERPORT:$PROJECTPORT -p 9016:9016 -v /usr/local/logs:/home/furen/logs -v /etc/localtime:/etc/localtime:ro \
-e "EUREKA_INSTANCE_IP-ADDRESS=192.168.0.158" \
-e "EUREKA_INSTANCE_NON-SECURE-PORT=8200" \
-e "EUREKA_CLIENT_SERVICEURL_DEFAULTZONE=http://192.168.0.158:8761/eureka/" \
$REPOSITORY
echo '================构建结束=============='${env}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值