Docker + jenkins项目打包镜像部署详细步骤(亲测有效)

 更新时间:2025年04月23日 11:20:15   作者:EdwardYange  
这篇文章主要介绍了Docker + jenkins项目打包镜像部署的相关资料,包括Jenkins的安装、项目搭建、Dockerfile的设置以及遇到的一些问题和解决方法,文中通过代码介绍的非常详细,需要的朋友可以参考下

这一期目前是基于已经搭建好Docker + jenkins 的基础上进行的,当然,后面会将Docker和Jenkins的部署也会写,好了,废话不多说,接下来我们就已经搭建好的环境进行项目的部署:

1.jenkins 安装:

前期的JDK安装:以下的安装都是基于jenkins 就可以,当然自己在外部的JDK在启动Jenkins时候就需要将其挂载在Jenkins上,不然在Jenkins中会找不到执行环境,比如:

后续会将这个的启动和部署出一个文章的,现在很多文章不够具体和细节

docker run -d \
-p 8888:8080 \
-p 50000:50000 \
--privileged=true \
-v /var/jenkins_home:/var/jenkins_home \
-v /etc/localtime:/etc/localtime \
-e JAVA_OPTS=-Duser.timezone=Asia/Shanghai \
--restart=always \
--name=jenkins \
-u root \
-v /data/maven/maven3.9:/data/maven \   这里就是挂载的maven
-v /usr/local/tools/jdk11:/data/jdk11 \  这里是挂在的jdk
-v /var/run/docker.sock:/var/run/docker.sock \  **这里非常重要,必须加**,不然进去执行shell会找不到Docker命令
-v $(which docker):/usr/bin/docker \ **这里非常重要,必须加**,不然进去执行shell会找不到Docker命令
jenkins/jenkins

maven安装:

全局环境变量设置:

上面的前期设置:

2.项目搭建

2.1.接下来就是新建任务

项目具体设置

2.2 git 仓库地址配置

在这里插入图片描述

2.3 maven配置

2.4 shell 脚本设置

2.5 项目中Dockerfile 设置

Jenkins shell:

#!/bin/bash
cd /var/jenkins_home/workspace/springboot-jenkins-test
docker stop springboottest || true
docker rm springboottest || true
docker rmi springboottest || true
docker build -t springboottest .
docker run -d -p 8092:8092 --name springboottest springboottest:latest

项目中的Dockerfile:

# 指定是基于哪个基础镜像
FROM java:8

# 作者信息
MAINTAINER Edward_zhang

# 挂载点声明
VOLUME /tmp1

# 将本地的一个文件或目录,拷贝到容器的文件或目录里
ADD /target/springboot-jenkins-test-1.0.0.jar springboot.jar

#shell脚本
RUN bash -c 'touch /springboot.jar'

# 将容器的8081端口暴露,给外部访问。
EXPOSE 8092

# 当容器运行起来时执行使用运行jar的指令
#ENTRYPOINT ["java", "-jar", "springboot.jar"]

ENTRYPOINT ["java", "-jar", "/springboot.jar"]

最终要的来了:点击保存 😂

构建:

2.6 结果展示

看到上图中的日志显示,就可以知道是我们在Dockerfile 中设置的相关

当然在其中也遇到过很多坑:

3. 遇到的坑总结

3.1 jdk 找不到

这就是上面所说的Jenkins部署的时候没有将jdk挂载,

3.2 docker command not found

这里出现的问题就很重要了,问题是你在部署启动Jenkins的时候,没有将docker 容器挂载,后面运行上面的shell脚本的时候就会出现找不到的问题

3.3 打包失败 Build failed

这里的问题就是maven出现问题,会出现

3.4 jdk 设置问题

总结 

到此这篇关于Docker + jenkins项目打包镜像部署的文章就介绍到这了,更多相关Docker+jenkins打包镜像部署内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Docker基于macvlan实现跨主机容器通信

    Docker基于macvlan实现跨主机容器通信

    这篇文章主要介绍了Docker基于macvlan实现跨主机容器通信,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • 使用Docker安装和配置 MySQL 数据库的过程详解

    使用Docker安装和配置 MySQL 数据库的过程详解

    本文将介绍如何使用Docker来安装和配置MySQL数据库,以便在开发和测试环境中快速搭建MySQL实例,本文也是介绍两种方式进行分别是“使用镜像安装”、“使用Docker Compose安装”,感兴趣的朋友一起看看吧
    2023-12-12
  • 如何使用docker极简打包java.jar镜像并启动

    如何使用docker极简打包java.jar镜像并启动

    这篇文章主要介绍了如何使用docker极简打包java.jar镜像并启动,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-08-08
  • 在Centos7 中更改Docker默认镜像和容器的位置

    在Centos7 中更改Docker默认镜像和容器的位置

    这篇文章主要介绍了在Centos7 下更改Docker默认镜像和容器的位置,需要的朋友可以参考下
    2017-05-05
  • Docker容器Container镜像Image如何存储详解

    Docker容器Container镜像Image如何存储详解

    本文主要介绍Docker容器(Container)和镜像(Image)是如何进行数据存储详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • Docker版的MySQL5.7升级到MySQL8.0.13,数据迁移

    Docker版的MySQL5.7升级到MySQL8.0.13,数据迁移

    这篇文章主要介绍了Docker版的MySQL5.7升级到MySQL8.0.13,数据迁移,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09
  • Docker 拉取镜像及标签操作 pull | tag

    Docker 拉取镜像及标签操作 pull | tag

    这篇文章主要介绍了Docker 拉取镜像及标签操作 pull | tag,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • 关于docker部署服务时ip无法访问服务正常的问题

    关于docker部署服务时ip无法访问服务正常的问题

    小编在使用docker部署应用的时候,无法使用IP地址访问,防火墙已经关闭,可以ping通,应用已经配置0.0.0.0,怎么回事?下面小编给大家介绍下docker部署服务,ip无法访问,服务正常的解决方法,感兴趣的朋友一起看看吧
    2022-09-09
  • skywalking agent 关联docker镜像的多种方法

    skywalking agent 关联docker镜像的多种方法

    Apache SkyWalking 提供了多种方式来部署和使用 SkyWalking Agent,包括在 Docker 容器中运行的应用,本文给大家分享几种方式将 SkyWalking Agent 集成到你的 Docker 应用中,感兴趣的朋友一起看看吧
    2025-04-04
  • docker容器非root用户提权的问题解决

    docker容器非root用户提权的问题解决

    本文主要介绍了docker容器非root用户提权的问题解决,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04

最新评论