docker 安装并运行jenkins 后不识别服务器上的jdk,maven等配置!

公司测试环境搭建jenkins自动构建部署,采用的是一套docker安装运行,比如mysql,redis,nginx,zk,es等都是用的docker拉取并运行,jenkins也不例外,后面发现jenkins上配置构建项目时,通过报错信息发现jenkins不识别mvn命令,不识别java命令,不识别自定义的maven本地仓库地址,但是服务器环境上又是有目录,java和mvn命令正常的。。

原理:docker通过镜像创建并启动容器,一个容器就是一个独立隔离的沙箱,所以并不能识别服务器上的环境配置,需要我们在启动容器时通过-v参数命令将服务器目录挂载到docker容器指定目录!拿jenkins举例来说,如果你是用docker运行的jenkins,那么是不识别你服务器上配置的jdk环境和maven环境的,你在jenkins里系统配置中去填写你服务器上的jdk目录和maven目录以及配置文件目录,后面项目构建是肯定会报错不识别的。jenkins所在的容器是docker某个具体容器,它只能识别出这个容器里的东东,容器自己有一套独立完整的目录,可以通过命令 docker exec -it containerID /bin/bash 进入指定的容器id查看(containerID换成你的docker容器id)。

解决办法:核心是通过创建启动docker容器时带上-v参数命令,将将服务器目录挂载到docker容器目录。

一般docker都喜欢用docker-compose.iml配置文件来保存配置命令等,方便快捷

进入配置文件所在然后执行命令

cd /data/docker-services/docker-compose
sudo docker-compose up -d jenkins

ÿ

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值