docker 安装 Jenkins
一、环境
- 服务器IP:47.108.***.234
- 服务器上已安装docker
二、部署步骤
1. 连接服务器
ssh root@47.***.***.234
2. 查看jenkins的镜像
docker search jenkins
![](https://img2020.cnblogs.com/blog/2226277/202106/2226277-20210627205132382-545404110.jpg)
3. 安装jenkins镜像并运行
docker run -p 8080:8080 -p 50000:50000 -d --name jenkins -v /Users/yangjun/k8s_jenkins:/var/jenkins_home jenkins/jenkins 参数解释: -p:端口映射,将docker jenkins镜像的端口映射到宿主机的端口 -d:镜像后台运行 --name:镜像别名 -v:挂载镜像目录,即将docker镜像下载到宿主机这个目录下
4. 查看是否运行成功
docker ps --查看已经运行的镜像
如下:则表示成功
![](https://img2020.cnblogs.com/blog/2226277/202106/2226277-20210627205131919-117143603.jpg)
5. 访问jenkins
浏览器访问:http://<服务器ip>:8080
![](https://img2020.cnblogs.com/blog/2226277/202106/2226277-20210627205132175-290624604.jpg)
6. 解锁jenkins
服务器上查看日志
docker logs -f 容器id
找到如下部分,复制粘贴
![](https://img2020.cnblogs.com/blog/2226277/202106/2226277-20210627205132538-519390069.jpg)
7. 安装jenkins
一路向下就ok
三、问题
1. docker ps后没有运行的镜像
使用docker ps -a 查看所有镜像(运行+不运行)
![](https://img2020.cnblogs.com/blog/2226277/202106/2226277-20210627205132194-1140235818.jpg)
镜像的status为Exited(x)时,解决方案如下:
- 宿主机给镜像分配的内存太小,可以在配置文件中修改大小
- 宿主机挂载目录权限不正确,修改命令如下
sudo chown 1000:1000 /var/jenkins_home
参数解释:
1000:镜像的uid,可以去镜像库中查看uid的值
/var/jenkins_home:宿主机的镜像挂载目录
解决之后,docker ps看镜像是否运行成功
2. 安装jenkins时,出现
An error occurred during installation: No such plugin: cloudbees-folder
![](https://img2020.cnblogs.com/blog/2226277/202106/2226277-20210627205132130-169270454.jpg)
解决方法:
(1) 重启jenkins,重新安装
http://<服务器ip>:8080/restart
(2) 下载cloudbees-folder文件
- https://updates.jenkins-ci.org/download/plugins/cloudbees-folder/
- 将cloudbees-folder文件放到宿主机挂载目录下的 /war/WEB-INF/detached-plugins 目录下
- 重启jenkins,先不选择安装,选择【系统管理】–【管理插件】–【高级】–【上传插件】,上传下载好的文件
若是出现如下错误,则代表jenkins的版本过低,无法安装插件,需要检查下第三步
![](https://img2020.cnblogs.com/blog/2226277/202106/2226277-20210627205132145-68070488.jpg)
(3) 查看安装的jenkins版本是否是最新(目前最新的镜像是 jenkins/jenkins)
使用 docker images 查看
![](https://img2020.cnblogs.com/blog/2226277/202106/2226277-20210627205132393-386418986.jpg)