Docker 安装 Jenkins , 并解决初始安装插件失败
安装 Jenkins 后,初始化下载插件总是失败,导致安装不成功,重试好几次都是卡在安装插件那。
这里记录下 Docker 下怎么安装 Jenkins ,并解决初始安装插件失败问题。
安装插件失败,其实是拉取了官方的 Jenkins 镜像,然后在初始化安装插件时,会从国外的网站去获取,导致安装非常缓慢,或者安装失败。最好的解决方案时拉取 Jenkins 中文社区 提供的 Jenkins 镜像,即可解决。Jenkins 中文官网 :https://www.jenkins.io/zh/
安装步骤
获取镜像
docker pull jenkinszh/jenkins-zh:latest
Docker官方镜像仓库 :https://hub.docker.com/
从这里找到 jenkins 中文镜像

设置 jenkins 容器挂载目录
Jenkins 容器启动后,会产生安装配置文件,需要把这些文件的生成地址改为,linux服务器上的目录。
目的:日后修改配置容易寻找。
创建 Jenkins 生成目录 mkdir /home/jenkins_home
目录授权 chmod 777 /home/jenkins_home 不授权启动后无法生成文件
启动命令
docker run -d -p 8085:8080 -p 50000:50000 --name myjenkins -v /home/jenkins_home/:/var/jenkins_home jenkinszh/jenkins-zh:latest
命令解释:
run 运行容器
-d 后台运行
-p linux服务器端口 与 Docker 容器端口映射
--name 自定义容器别名
-v linux服务器目录 与 Docker 容器目录挂载
最后名跟的时 拉取的镜像名和版本
注意:8085 是访问端口,只要没占用的都可以用。8080不可更改
-p 50000:50000 不可更改。
/home/jenkins_home/ 本地的生成目录,可以自定义,与上一步创建并授权的目录一致即可
/var/jenkins_home Docker 容器目录,不可更改。
访问
服务器ip + 自定义端口 例: 192.168.0.200:8085
初始密码
docker ps 获取当前运行容器的id
docker logs 容器的id
在 logs 日志里面即可看到,类似这样

插件安装
用中文社区提供的 Jenkins 镜像 无需设置,直接安装即可,速度飞快。
附-官方镜像安装插件失败分析
以上面 Jenkins 挂载的目录为例
在 jenkins_home 的目录下,hudson.model.UpdateCenter.xml 这个文件定义了 插件拉取的配置地址,默认的地址可以直接访问,你会发现,他连接的是 https://www.google.com/, 由于墙的原因,这个地址一直访问失败。
在 /jenkins_home/updates 目录下的 default.json 文件内容,就是 hudson.model.UpdateCenter.xml 定义的插件拉取的配置地址 里面的内容。即使你通过其他博客 修改了 default.json 的文件内容,当你再次 启动的时候,会立马还原过来,所以怎么修改都还不会生效。
而 Jenkins 中文社区提供的镜像,这块已经处理好了,插件拉取的配置地址 已经换为国内镜像地址,所以插件下载非常快。
Jenkins 中文社区 关于插件拉取的解释:
https://community.jenkins-zh.cn/t/jenkins/26
https://jenkins-zh.cn/wechat/articles/2019/11/2019-11-11-update-center-mirror-announcement/
建议了解一下
Docker 安装 Jenkins , 并解决初始安装插件失败的更多相关文章
- 在 docker 安装 jenkins (解决无法访问jenkins的错误)
前提:安装好docker. 拉取Jenkins镜像: python docker pull jenkins 遇到错误:Docker:TLS handshake timeout错误 原因:国外,网速慢, ...
- Mac 下安装 ruby 环境解决 brew 安装 yarn 问题
在brew安装yarn提示 ruby的版本过低.在网上搜了一下发现 1. mac下自带的ruby 在 system 目录下 2. 其实可以用brew安装一个ruby brew install ruby ...
- 解决Linux 安装python3 .5 解决pip 安装无法成功问题ssl安全拦截无法pip安装库问题
pip is configured with locations that require TLS/SSL, however the ssl module in Python is not avail ...
- Jenkins持续集成介绍及插件安装版本更新演示(一)--技术流ken
Jenkins介绍 Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能. Jenkins功能包括: ...
- 在k8s上安装Jenkins及常见问题
持续集成和部署是DevOps的重要组成部分,Jenkins是一款非常流行的持续集成和部署工具,最近试验了一下Jenkins,发现它是我一段时间以来用过的工具中最复杂的.一个可能的原因是它需要与各种其它 ...
- 阿里云上如何利用yum安装jenkins
一. 安装jdk 确保安装jenkins前jdk已经安装,如何安装见<如何在阿里云上部署war包到tomcat服务器> 二. 安装jenkins 使用以下命令安装jenkins: wget ...
- 【linux】【jenkins】自动化部署一 安装jenkins及Jenkins工作目录迁移
系统环境:Centos7 https://jenkins.io/zh/download/ 下载对应系统的jenkins 一.安装jdk8.0 jenkins安装需要jdk8or11,根据jenkins ...
- Jenkins持续集成_01_Mac安装配置
前言 Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建.测试和部署软件.在自动化测试中,用来持续集成,跑定时任务进行定时自动化监测.更详细介绍可查看jenkins官网: ...
- Window - 安装 Jenkins
安装方式 war 包放 Tomcat 下 直接安装 jenkins.msi 环境准备 安装 jdk.tomcat,参考:https://www.cnblogs.com/poloyy/p/1326781 ...
随机推荐
- vue-cli 引入axios及跨域使用
使用 cnpm 安装 axios cnpm install axios --save-dev 安装其他插件的时候,可以直接在 main.js 中引入并 Vue.use(),但是 axios 并不能 u ...
- windows Sever 2012 远程提示:由于没有远程桌面授权服务器可以提供许可证,远程会话被中断。请跟服务器管理员联系。
远程windows Sever 2012 时候 远程提示:由于没有远程桌面授权服务器可以提供许可证,远程会话被中断.请跟服务器管理员联系. 原因: windows server可以多用户同时登陆,默认 ...
- ANTLR随笔(二)
安装ANTLR 作者的电脑是MAC的操作系统macOS Catalina 10.15.2. 安装步骤后linux操作的系统的一样, Windows系统大致步骤一样,但是环境变量等配置有差别,作者很久没 ...
- VBScript - 弹出“文件选择对话框”方法大全!
本文记录,VBScript 中,各种打开 "文件选择对话框" 的方法. 实现方法-1 (mshta.exe): 首先,我们要实现的就是,弹出上面的这个"文件选择对话框&q ...
- PowerShell入门简介
文章更新于:2020-03-03 一.PowerShell简介 说实话,我总感觉 PowerShell 是 cmd 的加强版,但是看官方介绍,功能甚是强大,用处有待我们发掘. 二.PowerShell ...
- 计算机网络协议,PPP协议分析
一.基本特点 1.PPP协议是计算机网络体系中第二层(数据链路层)的协议 2.PPP帧格式是以HDLC帧格式为基础,做了很少的改动(区别:PPP是面向字符的,而HDLC是面向位的) 3.PPP协议使用 ...
- Linux bash篇(二 操作环境)
1.命令执行的顺序 (1).相对/绝对路径 (2).由alias找到的命令 (3).由bash内置的命令 (4).通过$PATH变量找到的第一个命令 2.第一篇讲到的bash在注销后就会无效,如果想保 ...
- flask 入门之 logging
如想看详细说明,请到: 1.https://www.cnblogs.com/yyds/p/6901864.html 2.https://docs.python.org/2/library/loggin ...
- Linux 系统篇(一)
退出当前程序 quit 填充代码: tab键 中断当前操作: ctrl + c 键盘输入结束 ctrl + d 关机 shutdown 重启 reb ...
- Python 的while循环和for循环的使用
#循环 遍历 迭代 # while循环 a = 0while a <5: a =a+1 if a == 3: continueprint('我循环了')+str(a) # print ('我循环 ...