千家信息网

Linux多应用程序docker怎么自动部署脚本

发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,Linux多应用程序docker怎么自动部署脚本,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Linux 多应用程序do
千家信息网最后更新 2025年12月01日Linux多应用程序docker怎么自动部署脚本

Linux多应用程序docker怎么自动部署脚本,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

Linux 多应用程序docker自动部署脚本可以结合jenkins分布式部署

参数:

镜像名:端口的格式:版本号

例如:spring-client:8764:0.0.1

1.先用maven install 打包项目到target目录下

2.项目对应的Dockerfile路径为:/src/main/docker/Dockerfile

3.脚本自动复制Dockerfile和程序文件自动打包镜像部署

4.docker命令运行时加入--restart unless-stopped 可以容器随docker自启

project=("spring-client:8764:0.0.1" "spring-system:8770:0.0.1" "spring-eureka:8761:0.0.1")mainDir=/opt/jenkinsjenkinsDir=/root/.jenkins/workspace/spring-boot-xinjiang#判断主文件夹是否存在,不存在创建if [ ! -d $mainDir ]; then  mkdir $mainDirfi#循环数组创建每个项目的文件夹for var in ${project[@]} do  OLD_IFS="$IFS"    IFS=":"    array=($var)    IFS="$OLD_IFS"  name=${array[0]}  port=${array[1]}  version=${array[2]}    echo 项目名称$name;  if [ ! -d $mainDir/$name ]; then    echo "项目目录不存在,创建项目目录"    mkdir $mainDir"/"$name  fi  cd $jenkinsDir;  jarName=$name/target/$name-1.0.0.jar  if [ -f $jarName ]; then    echo "jar源文件存在,正在复制"    #复制程序文件(war/jar)的名称    cp $jarName $mainDir/$name/$name-$version-SNAPSHOT.jar  else    echo "jar源文件不存在"  fi  #Dockerfile文件的路径  dockerFileName=$name/src/main/docker/Dockerfile  if [ -f $dockerFileName ]; then    echo "docker文件存在,正在复制"    #复制Dockerfile程序文件的名称    cp $dockerFileName $mainDir/$name  else    echo "docker文件不存在"  fi  if [ -f $dockerFileName ] && [ -f $jarName ]; then    cd $mainDir/$name    if docker ps -a|grep -i $name;then      docker stop $name      docker rm $name    fi    imagesid=`docker images|grep -i $name | awk '{print $3}'`    if [ "$imagesid" == "" ];then      echo  "镜像不存在"    else      echo  "镜像存在删除后构建"      if docker ps -a|grep -i $name;then       echo "镜像容器存在,正在停止容器"       docker stop $name       echo "镜像容器删除"       docker rm $name      fi      docker rmi $imagesid -f    fi     docker build -t $name .     echo "镜像构建成功"     echo "容器构建中"     docker run -d -p $port:$port --name $name --restart unless-stopped $dockerName $name     echo "容器启动成功"  else    echo "镜像构建失败"  fidoneexit 0

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

文件 镜像 容器 项目 程序 脚本 名称 正在 目录 应用程序 应用 成功 文件夹 源文件 路径 帮助 清楚 内容 分布式 参数 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 应用软件开发书籍推荐 软件开发技术股份比例 域管理服务器架设 三级网络技术百度云视频下载 服务器上so是什么 服务器8x接口接显卡不亮 欣象互联网信息科技有限公司 常见的学术文献数据库 网络安全知识讲座从哪里观看 人脸识别 软件开发培训 软件工程是软件开发活动的集合 网络技术服务费用支出表 软件开发人员怎么样才能高薪 网络技术专业技能状况填什么 北京金融行业软件开发 数据库数据出现过没有 服务器企业版进不去安全模式 大学生网络安全都包括哪些 舟山定海梦幻软件开发工作室 郑州办公系统软件开发大概多少钱 怎么开启轻量应用服务器 直播网络技术有哪些 移动网络技术人员工资 对入侵服务器取证如何入手 从事网络安全违法行动拘留多久 岗位 演讲 软件开发 底层平台软件开发 小程序管理服务器 云锁服务器怎么设置登录安全 软件开发书籍推荐
0