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