docker jenkins容器运行springboot及问题

本文介绍了如何在Docker容器中部署Jenkins并构建SpringBoot应用,包括安装Jenkins、配置环境、添加构建任务。在遇到权限、命令缺失和日志记录问题时,提供了相应的解决方案,如修改容器权限、安装缺失命令和调整日志目录以利用宿主机挂载的目录。此外,还提到了项目端口映射的问题及其解决方法。

docker 容器jekins 部署springboot

1.安装jekins

拉取jenkins镜像

docker pull  jenkins/jenkins

2.创建文件夹/usr/local/jenkins

mkdir /usr/local/jenkins

3.给/usr/local/jenkins 权限

chmod 777 /usr/local/jenkins

4.创建容器并运行

docker run -p 8033:8080 -p 50000:50000 -v /usr/local/jenkins:/var/jenkins_home --name jenkins -idt docker.io/jenkins/jenkins

5.开放防火墙

firewall-cmd --zone=public --add-port=8033/tcp --permanent

firewall-cmd --zone=public --add-port=50000/tcp --permanent

6.刷新防火墙

firewall-cmd --reload

7.得到管理员密码

cat /usr/local/jenkins/secrets/initialAdminPassword

8.访问 ip地址:8033即可

2.jekins 操作

2.1 安装maven,gitee插件

在这里插入图片描述

2.2

我这里已经安装过了,
我这里已经安装过了
在这里插入图片描述
在这里插入图片描述

2.3配置环境

在这里插入图片描述

2.3.1 java

在这里插入图片描述
获取java_home
在这里插入图片描述

2.3.2 maven

如下即可
在这里插入图片描述

3、构建一个实例

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

如下即可添加
在这里插入图片描述
build选项
在这里插入图片描述
在成功打包后执行 shell脚本

在这里插入图片描述
脚本内容,看注释

#!/bin/bash
#服务名称
SERVER_NAME=ruoyi
# 源jar路径,mvn打包完成之后,target目录下的jar包名称,这里使用jar包,用java -jar 命令执行 
JAR_NAME=ruoyi
# 源jar路径 
#/usr/local/jenkins_home/workspace--->jenkins 工作目录
#demo 项目目录
#target 打包生成jar包的目录
JAR_PATH=/var/jenkins_home/workspace/woss_web/target
# 打包完成之后,把jar包移动到运行jar包的目录--->work_daemon,work_daemon这个目录需要自己提前创建
JAR_WORK_PATH=/var/jenkins_home/workspace/woss_web/work_daemon/

echo "查询进程id-->$SERVER_NAME"
PID=`ps -ef | grep "$SERVER_NAME" | awk '{print $2}'`
echo "得到进程ID:$PID"
echo "结束进程"
for id in $PID
do
        kill -9 $id 
        echo "killed $id" 
done
echo "结束进程完成"

#复制jar包到执行目录
echo "复制jar包到执行目录:cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH"
cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH
echo "复制jar包完成"
cd $JAR_WORK_PATH
#修改文件权限
chmod 755 $JAR_NAME.jar
BUILD_ID=dontKillMe nohup java -jar  $JAR_NAME.jar  &

保存即可

在这里插入图片描述

构建遇到的问题

docker 容器内执行命令没有权限
docker exec -u 0 -it 容器id /bin/bash
shell 脚本报错没有ps命令安装 ps命令

进入jekins容器 安装

docker exec -u 0 -it 容器id /bin/bash
apt-get update && apt-get install procps
日志文件操作错误

在这里插入图片描述


问题:
	因为项目在jekis容器内部运行,所以我们的项目没办法进行日志记录操作,
解决思路:
因为最开始jekins容器的目录和和宿主机(服务器)的目录挂载了,所以我们可以将日志目录修改一下
宿主机目录:/usr/local/jenkins
刚开始运行jekins的命令
docker run -p 8033:8080 -p 50000:50000 -v /usr/local/jenkins:/var/jenkins_home --name jenkins -idt docker.io/jenkins/jenkins

在这里插入图片描述

docker 容器 端口动态映射

在这里插入图片描述

我们的项目部署完成了,但是通过ip:9000访问不到,这是因为我们的jenkins容器端口只是映射了8033和50000端口,但是我们的项目端口是9000,导致无法访问,我们可以通过以下命令解决



评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值