Linux多应用程序docker怎么自动部署脚本
发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,Linux多应用程序docker怎么自动部署脚本,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Linux 多应用程序do
千家信息网最后更新 2025年01月23日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安全错误
数据库的锁怎样保障安全
asp数据库期刊分类统计
数据库是如何进行维护的
国产化软件开发公司
企业网络服务器的规划与实现摘要
win7更改服务器密码
我的世界龙珠服务器怎么去主世界
心目中的网络安全寄语
软件开发什么是模型
应用软件开发案例官方最新版
邢台 网络技术 招聘
软件开发数据怎么保存
法侓法规数据库
串口服务器无线
浙江云课网络技术有限公司
双节网络安全宣传
linux拷贝到其他服务器
数据库程序运行原理
建站怎么连接数据库
数据库书本表的完整步骤
网络安全属于网络公共事件吗
益阳职业技术学院的软件开发
上海厚地网络技术
云端数据库的备份
数据库 预处理
数据库ocp考试官网
数据库在 中的应用
区块链服务器网络模块
计算机网络安全受损的危害
腾讯云服务器 手机管理
数据库工程师岗位设置