如何图文并茂地保姆级教学Docker安装Jenkins打包Maven项目成Docker镜像并运行?

2026-04-28 15:332阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1876个文字,预计阅读时间需要8分钟。

如何图文并茂地保姆级教学Docker安装Jenkins打包Maven项目成Docker镜像并运行?

一、前言:Jenkins作为CI/CD的先驱者,虽然现在的风头被Gitlab抢了,但依然是老当益壮,许多中小公司仍在使用比较广泛的。最近小编经历了一次Jenkins包的更新,感觉还挺不错的,所以自己学习了一下。

一、前言

Jenkins作为CI、CD的先驱者,虽然现在的风头没有Gitlab强了,但是还是老当益壮,很多中小公司还是使用比较广泛的。最近小编经历了一次Jenkins发包,感觉还不错,所以自己学习了一下。网上比较多的教程都是在Linux上搭建Jenkins,小编经过一个星期的探索终于完成了在docker中进行搭建。

最终版就是:通过git上传代码--->使用Jenkins构建自动打包--->把jar包打成docker镜像,运行在docker中,Windows下进行访问

主要记录一下一些踩过的坑和注意点,让后来人能够跟着小编一次完成!!

二、安装Docker

安装Docker

三、linux安装jdk和maven 1、下载JDK8Linux版本

官网下载太慢了,小编这里为大家下载好了:

链接:百度网盘地址
提取码:ov24

2、下载Maven

maven3.8.5下载链接

3、使用xftp上传到linux上

4、解压

解压maven

tar -zxvf apache-maven-3.8.5-bin.tar.gz

重命名maven

mv apache-maven-3.8.5-bin.tar.gz apache-maven-3.8.5

解压jdk

tar -zxvf jdk-8u333-linux-x64.tar.gz

重命名jdk

mv jdk-8u333-linux-x64.tar.gz jdk1.8 5、配置环境变量

进入环境变量文件

vim /etc/profile

添加jdk和manven配置
输入i,进入输入模式

注意自己的安装目录,放在文件最上面就行

JAVA_HOME=/usr/local/java/jdk1.8 CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar PATH=$JAVA_HOME/bin:$PATH export JAVA_HOME CLASSPATH PATH export MAVEN_HOME=/usr/local/java/apache-maven-3.8.5 export PATH=${MAVEN_HOME}/bin:${PATH}

按下esc ,输入:wq保存退出。

查看是否安装成功

java -version

mvn -v

6、配置Maven加速镜像

cd apache-maven-3.8.5/conf/

vim settings.xml

输入i,进入输入模式

<mirrors> <mirror> <id>alimaven</id> <name>aliyun maven</name> <url>maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror> </mirrors>

按下esc ,输入:wq保存退出。

四、Docker安装Jenkins 1.准备挂载目录

cd home/

mkdir jenkins_home

一定要赋予修改权限,不然挂载会失败,我们这里给最高权限。

chmod -R 777 jenkins_home

2. 执行docker命令

docker run -di --name=myjenkins -p 8080:8080 -v /home/jenkins_home:/var/jenkins_home \ -v /usr/local/java/jdk:/usr/local/jdk1.8 \ -v /usr/local/java/apache-maven-3.8.5:/usr/local/apache-maven-3.8.5 \ -v $(which docker):/usr/bin/docker \ -v /var/run/docker.sock:/var/run/docker.sock jenkins/jenkins:lts

-v /home/jenkins_home:/var/jenkins_home:是对容器内存储Jenkins的一些配置信息的文件夹
-v /usr/local/java/jdk:/usr/local/jdk1.8:是把linux下的jdk和容器内的关联(配置Jenkins时使用)
-v /usr/local/java/apache-maven-3.8.5:/usr/local/apache-maven-3.8.5:是把linux下的maven和容器内的关联(配置Jenkins时使用)

-v $(which docker):/usr/bin/docker -v /var/run/docker.sock:/var/run/docker.sock:是可以在Jenkins容器里使用我们Linux下的docker。

五、配置Jenkins 1. 进入Jenkins

输入:192.168.84.133:8080/(ip+端口号)

如何图文并茂地保姆级教学Docker安装Jenkins打包Maven项目成Docker镜像并运行?

2. 获取密码

docker logs 容器id



3. 安装插件


4. 创建用户

5. 保存配置地址

6. 配置插件镜像



输入:mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

点击提交

7. 安装ssh插件


安装完成重启一下Jenkins

8. 添加ssh登录账号凭据

点击系统管理,找到下图点击


9. 配置全局ssh

点击系统管理,找到系统配置


点击新增:


点击保存:

10. 配置jdk和maven

点击系统管理,找到全局工具配置


点击保存

六、准备Springboot项目到git 1. 核心代码

我们看到只是一个请求打印,我们最后访问有docker成功,代表我们构建发包成功!

2. pom内容

<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> <configuration> <includeSystemScope>true</includeSystemScope> </configuration> </plugin> </plugins> </build> 3. yml文件

这里只指定了端口号

server.port=8081 4. Dockerfile

和pom文件同级

FROM java:8 COPY *.jar /app.jar CMD ["--server.port=8080"] EXPOSE 8080 ENTRYPOINT ["java", "-jar", "/app.jar"] 5. 上传git仓库

七、使用Jenkins部署项目 1. 新建任务


2. 添加git凭据



选择刚刚添加的凭据报错信息消失

3. 添加maven构建


4. 增加构建执行shell


shell脚本:

#!/bin/bash # 服务名称 SERVER_NAME=jenkins # 源jar名称,mvn打包之后,target目录下的jar包名称 JAR_NAME=demo-0.0.1-SNAPSHOT # jenkins下的目录 JENKINS_HOME=/var/jenkins_home/workspace/jenkins # 等待三秒 echo sleep 3s sleep 1 echo sleep 2s sleep 1 echo sleep 1s sleep 1 echo "结束进程完成" cd $JENKINS_HOME/target cp $JENKINS_HOME/Dockerfile $JENKINS_HOME/target # 修改文件权限 chmod 755 $JAR_NAME.jar echo "看看docker能不能用" docker -v echo "停止容器" # 停止容器 docker stop springboot echo "删除容器" # 删除容器 docker rm springboot echo "删除镜像" # 删除镜像 docker rmi springboot echo "打包镜像" # 打包镜像 docker build -t springboot . echo "运行镜像" # 运行镜像 docker run -d -p 8081:8081 --name springboot springboot

5. 立即构建

6. 控制台输出报错


我们看到打包成功了,就是在使用docker命令的时候出现权限问题,这是我们要给docker.sock权限就可以解决了!!

报错信息:

Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post "%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/springboot/stop": dial unix /var/run/docker.sock: connect: permission denied

解决方案:

chmod a+rw /var/run/docker.sock 7.在次构建

我们发现没有报错,也看到了容器的id

8. 查询docker镜像是否启动

docker images

docker ps

9. Win10进行访问测试

输入地址:192.168.84.133:8081/test/docker

七、总结

小编断断续续研究了一星期,太不容易了,中间也是遇到很多坑,只要是跟着小编走下去的基本都可以跑出来的!
看到这里还不给小编一键三连起来!!谢谢大家了哦~


有缘人才可以看得到的哦!!!

点击访问!小编自己的网站,里面也是有很多好的文章哦!

本文共计1876个文字,预计阅读时间需要8分钟。

如何图文并茂地保姆级教学Docker安装Jenkins打包Maven项目成Docker镜像并运行?

一、前言:Jenkins作为CI/CD的先驱者,虽然现在的风头被Gitlab抢了,但依然是老当益壮,许多中小公司仍在使用比较广泛的。最近小编经历了一次Jenkins包的更新,感觉还挺不错的,所以自己学习了一下。

一、前言

Jenkins作为CI、CD的先驱者,虽然现在的风头没有Gitlab强了,但是还是老当益壮,很多中小公司还是使用比较广泛的。最近小编经历了一次Jenkins发包,感觉还不错,所以自己学习了一下。网上比较多的教程都是在Linux上搭建Jenkins,小编经过一个星期的探索终于完成了在docker中进行搭建。

最终版就是:通过git上传代码--->使用Jenkins构建自动打包--->把jar包打成docker镜像,运行在docker中,Windows下进行访问

主要记录一下一些踩过的坑和注意点,让后来人能够跟着小编一次完成!!

二、安装Docker

安装Docker

三、linux安装jdk和maven 1、下载JDK8Linux版本

官网下载太慢了,小编这里为大家下载好了:

链接:百度网盘地址
提取码:ov24

2、下载Maven

maven3.8.5下载链接

3、使用xftp上传到linux上

4、解压

解压maven

tar -zxvf apache-maven-3.8.5-bin.tar.gz

重命名maven

mv apache-maven-3.8.5-bin.tar.gz apache-maven-3.8.5

解压jdk

tar -zxvf jdk-8u333-linux-x64.tar.gz

重命名jdk

mv jdk-8u333-linux-x64.tar.gz jdk1.8 5、配置环境变量

进入环境变量文件

vim /etc/profile

添加jdk和manven配置
输入i,进入输入模式

注意自己的安装目录,放在文件最上面就行

JAVA_HOME=/usr/local/java/jdk1.8 CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar PATH=$JAVA_HOME/bin:$PATH export JAVA_HOME CLASSPATH PATH export MAVEN_HOME=/usr/local/java/apache-maven-3.8.5 export PATH=${MAVEN_HOME}/bin:${PATH}

按下esc ,输入:wq保存退出。

查看是否安装成功

java -version

mvn -v

6、配置Maven加速镜像

cd apache-maven-3.8.5/conf/

vim settings.xml

输入i,进入输入模式

<mirrors> <mirror> <id>alimaven</id> <name>aliyun maven</name> <url>maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror> </mirrors>

按下esc ,输入:wq保存退出。

四、Docker安装Jenkins 1.准备挂载目录

cd home/

mkdir jenkins_home

一定要赋予修改权限,不然挂载会失败,我们这里给最高权限。

chmod -R 777 jenkins_home

2. 执行docker命令

docker run -di --name=myjenkins -p 8080:8080 -v /home/jenkins_home:/var/jenkins_home \ -v /usr/local/java/jdk:/usr/local/jdk1.8 \ -v /usr/local/java/apache-maven-3.8.5:/usr/local/apache-maven-3.8.5 \ -v $(which docker):/usr/bin/docker \ -v /var/run/docker.sock:/var/run/docker.sock jenkins/jenkins:lts

-v /home/jenkins_home:/var/jenkins_home:是对容器内存储Jenkins的一些配置信息的文件夹
-v /usr/local/java/jdk:/usr/local/jdk1.8:是把linux下的jdk和容器内的关联(配置Jenkins时使用)
-v /usr/local/java/apache-maven-3.8.5:/usr/local/apache-maven-3.8.5:是把linux下的maven和容器内的关联(配置Jenkins时使用)

-v $(which docker):/usr/bin/docker -v /var/run/docker.sock:/var/run/docker.sock:是可以在Jenkins容器里使用我们Linux下的docker。

五、配置Jenkins 1. 进入Jenkins

输入:192.168.84.133:8080/(ip+端口号)

如何图文并茂地保姆级教学Docker安装Jenkins打包Maven项目成Docker镜像并运行?

2. 获取密码

docker logs 容器id



3. 安装插件


4. 创建用户

5. 保存配置地址

6. 配置插件镜像



输入:mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

点击提交

7. 安装ssh插件


安装完成重启一下Jenkins

8. 添加ssh登录账号凭据

点击系统管理,找到下图点击


9. 配置全局ssh

点击系统管理,找到系统配置


点击新增:


点击保存:

10. 配置jdk和maven

点击系统管理,找到全局工具配置


点击保存

六、准备Springboot项目到git 1. 核心代码

我们看到只是一个请求打印,我们最后访问有docker成功,代表我们构建发包成功!

2. pom内容

<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> <configuration> <includeSystemScope>true</includeSystemScope> </configuration> </plugin> </plugins> </build> 3. yml文件

这里只指定了端口号

server.port=8081 4. Dockerfile

和pom文件同级

FROM java:8 COPY *.jar /app.jar CMD ["--server.port=8080"] EXPOSE 8080 ENTRYPOINT ["java", "-jar", "/app.jar"] 5. 上传git仓库

七、使用Jenkins部署项目 1. 新建任务


2. 添加git凭据



选择刚刚添加的凭据报错信息消失

3. 添加maven构建


4. 增加构建执行shell


shell脚本:

#!/bin/bash # 服务名称 SERVER_NAME=jenkins # 源jar名称,mvn打包之后,target目录下的jar包名称 JAR_NAME=demo-0.0.1-SNAPSHOT # jenkins下的目录 JENKINS_HOME=/var/jenkins_home/workspace/jenkins # 等待三秒 echo sleep 3s sleep 1 echo sleep 2s sleep 1 echo sleep 1s sleep 1 echo "结束进程完成" cd $JENKINS_HOME/target cp $JENKINS_HOME/Dockerfile $JENKINS_HOME/target # 修改文件权限 chmod 755 $JAR_NAME.jar echo "看看docker能不能用" docker -v echo "停止容器" # 停止容器 docker stop springboot echo "删除容器" # 删除容器 docker rm springboot echo "删除镜像" # 删除镜像 docker rmi springboot echo "打包镜像" # 打包镜像 docker build -t springboot . echo "运行镜像" # 运行镜像 docker run -d -p 8081:8081 --name springboot springboot

5. 立即构建

6. 控制台输出报错


我们看到打包成功了,就是在使用docker命令的时候出现权限问题,这是我们要给docker.sock权限就可以解决了!!

报错信息:

Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post "%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/springboot/stop": dial unix /var/run/docker.sock: connect: permission denied

解决方案:

chmod a+rw /var/run/docker.sock 7.在次构建

我们发现没有报错,也看到了容器的id

8. 查询docker镜像是否启动

docker images

docker ps

9. Win10进行访问测试

输入地址:192.168.84.133:8081/test/docker

七、总结

小编断断续续研究了一星期,太不容易了,中间也是遇到很多坑,只要是跟着小编走下去的基本都可以跑出来的!
看到这里还不给小编一键三连起来!!谢谢大家了哦~


有缘人才可以看得到的哦!!!

点击访问!小编自己的网站,里面也是有很多好的文章哦!