使用jenkins docker容器的坑

1.项目使用maven的时候,首先在Global Tool Configuration里面添加自动安装maven,然后在项目的构建中增加Invoke top-level Maven targets中的Maven Version里面选中刚刚添加的Maven ID,否则会报以下错误:

FATAL: command execution failed
java.io.IOException: Cannot run program "mvn" (in directory "/var/jenkins_home/workspace/JettyDocker"): error=2, No such file or directory
	at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
	at hudson.Proc$LocalProc.<init>(Proc.java:240)
	at hudson.Proc$LocalProc.<init>(Proc.java:212)
	at hudson.Launcher$LocalLauncher.launch(Launcher.java:815)
	at hudson.Launcher$ProcStarter.start(Launcher.java:381)
	at hudson.Launcher$ProcStarter.join(Launcher.java:388)
	at hudson.tasks.Maven.perform(Maven.java:331)
	at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
	at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:779)
	at hudson.model.Build$BuildExecution.build(Build.java:205)
	at hudson.model.Build$BuildExecution.doRun(Build.java:162)
	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:534)
	at hudson.model.Run.execute(Run.java:1741)
	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
	at hudson.model.ResourceController.execute(ResourceController.java:98)
	at hudson.model.Executor.run(Executor.java:410)
Caused by: java.io.IOException: error=2, No such file or directory
	at java.lang.UNIXProcess.forkAndExec(Native Method)
	at java.lang.UNIXProcess.<init>(UNIXProcess.java:248)
	at java.lang.ProcessImpl.start(ProcessImpl.java:134)
	at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
	... 15 more

2.巨坑:

在上图kitematic界面中点击右下侧任意一个路径,会弹出如图对话框,若选择Enable Volumes会发生四件坏事:

1.强制重启jenkins server,即便有job没有完成;

2.重启后需要重新安装jenkins插件;

3.导致jenkins无法使用DooD的docker命令。

3.admin用户的密码会改变。

所以切记任何时候使用jenkins容器不要点选enable volumes。

解决办法:

停止(删除)docker,重新运行以下命令并配置新的jenkins容器。

docker run -d -v /var/run/docker.sock:/var/run/docker.sock \

-v $(which docker):/usr/bin/docker -p 8080:8080 myjenk

假如一定需要查看,可以参照jenkins容器的备份和复用博文duplicate一个同样的jenkins容器来查看。

时间: 2024-10-09 02:53:03

使用jenkins docker容器的坑的相关文章

jenkins docker容器的备份和复用

jenkins配置文件备份: docker cp focused_bhaskara:/var/jekins_home ./jenkins_home 其中focused_bhaskara为当前运行的jenkins容器名字,通过docker ps查看names即可得到. docker create -v /var/jenkins_home --name jenkins-dv    制作data volume容器并运行: 1.将此前备份好的jenkins配置目录jenkins_home,copy到当前

docker容器-快速部署Jenkins

1.在本地虚拟机环境.安装CentOS 7,并安装docker容器 2.在docker容器中执行  docker pull jenkinsci/blueocean 3.查看已经下载的Jenkins镜像 docker images 4.创建jenkins_home 启动一个 Jenkins容器 创建一个jenkins目录 mkdir /home/jenkins_home 启动一个jenkins容器 docker run --name jenkins -p 8081:8080 -p 50000:50

docker容器跑tomcat遇到的坑

使用docker容器跑tomcat,由于同一个宿主机上跑了多个容器,再加上宿主机本身跑了很多进程,导致系统总的进程数达到了8000+,而容器中tomcat的启动脚本中会调用自带的setenv.sh,在setenv.sh中有这么一句ulimit -u 8192,由于系统进程数已经达到了8192,因此在启动tomcat时会报错: tomcat/bin/catalina.sh: fork: retry: No child processestomcat/bin/catalina.sh: fork: r

jenkins的容器化部署以及k8s应用的CI/CD实现

1. 使用Helm安装Mysql: ??上一篇博文谈到了如何使用Helm安装Redis和RabbitMQ,下来我们来聊聊如何用Helm安装mysql. ??本人对于Mysql数据库不是非常熟悉,因为我们公司的分工比较明确,数据库这块的工作主要由DBA负责,运维同学只负责应用的维护. ??按照我们前面博文的描述,首先是在官方文档查看helm安装mysql的书名: https://github.com/helm/charts/tree/master/stable/mysql ??我根据官方文档的描述

Jenkins Docker安装及利用Docker-build-step插件部署Docker

生产部署环境:A:192.168.1.2 B:192.168.1.3  两台服务器系统均是Centos 7.3 , Docker版本都1.12.6 操作步骤: 1.在A服务器上使用命令:docker pull jenkinsci/jenkins  获取到Docker镜像: 2.使用命令:docker run -p 8080:8080 -p 50000:50000 --name jenkins -u root -v /var/jenkins_home:/var/jenkins_home jenki

在Linux和Windows的Docker容器中运行ASP.NET Core

(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 译者序:其实过去这周我都在研究这方面的内容,结果周末有事没有来得及总结为文章,Scott Hanselman就捷足先登了.那么我就来翻译一下这篇文章,让更多的中文读者看到.当然Scott遇到的坑我也遇到了. 不过首先,对于不熟悉的朋友我还是来解释一下Linux容器和Windows容器的概念. 由于容器成为虚拟化和应用托管的一种不可避免的选项,Windows也开始为公众提供容器功能(其实微软具备和使用

Jenkins+docker实现应用发布

Jenkins:centos6.5 ip:192.168.83.84 Docker:centos7.2 ip:192.168.83.60 一.安装Jenkins 最新版: sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo sudo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key sudo

Jenkins+docker实现应用发布和更新

Jenkins+docker实现应用发布 Jenkins:centos6.5 ip:192.168.83.84 Docker:centos7.2 ip:192.168.83.60 一.安装Jenkins 最新版: sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo sudo rpm --import http://pkg.jenkins-ci.org/redhat/jen

Docker容器中运行ASP.NET Core

在Linux和Windows的Docker容器中运行ASP.NET Core 译者序:其实过去这周我都在研究这方面的内容,结果周末有事没有来得及总结为文章,Scott Hanselman就捷足先登了.那么我就来翻译一下这篇文章,让更多的中文读者看到.当然Scott遇到的坑我也遇到了. 不过首先,对于不熟悉的朋友我还是来解释一下Linux容器和Windows容器的概念. 由于容器成为虚拟化和应用托管的一种不可避免的选项,Windows也开始为公众提供容器功能(其实微软具备和使用容器技术很久了).这