docker jenkins shell 脚本 自动打包部署

该博客介绍了如何使用Docker进行自动化构建镜像和部署容器。首先定义了时间戳作为镜像版本,然后设置了镜像名称。接着,创建Dockerfile以基于Java 8构建应用容器,并设置环境变量和入口点。随后,删除已运行的容器和旧镜像,再构建新的镜像。最后,使用新镜像启动容器,配置了端口映射、环境变量和挂载卷。整个流程确保了应用程序的更新和部署效率。
摘要由CSDN通过智能技术生成
#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}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值