容器(16)--Docker 中的服务部署jenkins
一 .docker 安装 Jenkins
Step 1.把最新镜像pull到本地
[root@VM_0_6_centos ~]# docker pull jenkins
Using default tag: latest
latest: Pulling from library/jenkins
Step 2.创建映射绑定地址
mkdir -p ~/dockerdata/jenkins
Step 3.创建名称为***的容器
docker run -d -p 8099:8080 -v ~/dockerdata/jenkins:/var/jenkins_home --name jenkins --restart=always jenkins
Step 4.进入容器:修改、完善***的设置
查看所有容器:docker ps -a
查看启动容器列表: docker ps
启动jenkins容器:docker start jenkins
浏览器输入 http://你的ip地址:8099
如果访问不通:
查看日志:docker logs -f jenkins
[root@VM_0_6_centos jenkins]# docker logs -f jenkins
touch: cannot touch '/var/jenkins_home/copy_reference_file.log': Permission denied
Can not write to /var/jenkins_home/copy_reference_file.log. Wrong volume permissions?
用Docker启动Jenkins出现权限问题:把当前目录的拥有者赋值给uid 1000
,再启动"jenkins"容器就一切正常了
sudo chown -R 1000:1000 ~/dockerdata/jenkins/
Step 5.重启容器,验证
docker stop jenkins
docker start jenkins
![](https://img.haomeiwen.com/i15645795/752ba61e25e9a6ec.png)
找到映射路径这个位置
cd ~/dockerdata/jenkins/secrets/
打开这个文件,查看初始密码
vi initialAdminPassword
这是我的密码: 558285fab4224c07937779fd30a383c9
点击continue,跳转到如下页面
![](https://img.haomeiwen.com/i15645795/ebd62bedd08210c0.png)
选择安装Install suggested plugins,等待其自动安装完成
![](https://img.haomeiwen.com/i15645795/978dc9c53bf427fb.png)
各种插件安装完后,开始设置账户信息,以后用此账户登录jenkins
![](https://img.haomeiwen.com/i15645795/4358cfd0177517e7.png)
然后进入首页:
![](https://img.haomeiwen.com/i15645795/7d1abd07dea7496c.png)
二 使用Rancher 安装jenkins
应用商店 搜索 jenkins
![](https://img.haomeiwen.com/i20005730/8e56ae377c76dcd2.png)
更改端口 (因为rancher 占用了8080)
![](https://img.haomeiwen.com/i20005730/52933ebaa11a8ff1.png)
![](https://img.haomeiwen.com/i20005730/6fd36530515c93dd.jpg)
![](https://img.haomeiwen.com/i20005730/950b4643ee6c9b24.jpg)
会有三个容器:
第一个容器是 jenkins 服务
第二个是 给 1000 权限 (如果不给,会有权限问题)
第三个 是 安装jenkins插件
![](https://img.haomeiwen.com/i20005730/726500932df7915d.jpg)
点击访问
![](https://img.haomeiwen.com/i20005730/26944ec315ed5afa.jpg)
![](https://img.haomeiwen.com/i20005730/56e153e260bcfbed.jpg)
问题1:
有时访问不出页面
原因:有写插件没有安装,需要进入容器执行命令
Snipaste_2020-03-08_18-48-29.jpg
解决访问不了的问题:
进入第一个容器内执行
image.png
image.png
执行命令
whereis jenkins
cd /usr/share/jenkins
/usr/local/bin/jenkins.sh
image.png
再次访问
用户名 admin
(在此处查看密码) 密码 cat /var/lib/docker/jenkins-ci/secrets/initialAdminPassword
![]()
问题2:不给推荐插件 rancher安装的Jenkins 有问题
rancher装的jenkins版本是2.90.2 版本太低 插件要求版本都比这高
所以要对 Jenkins 进行升级
在jenkins 容器中
进入 /usr/share/jenkins 里有 jenkins 的 war 包
(要替换war包 因为 我们 安装 jenkins 2.92.3版的 版本过低,需要替换
如果不替换 会提示 版本过低 不能使用)
如果不替换直接进入后,进行 配置的话 会有 以下报错,提示升级版本
所以先进入替换war包
image.png
image.png
操作:
Snipaste_2020-03-08_20-16-09.jpg
Snipaste_2020-03-08_20-16-41.jpg
应该选择latest
Snipaste_2020-03-08_20-16-56.jpg
Snipaste_2020-03-08_20-17-26.jpg
docker exec -it -u root e273ac9fdcb2 bash(root用户进入jenkins容器)
cd /usr/share/jenkins
mv jenkins.war jenkins.war.bak (备份)
wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/war/latest/jenkins.war
Snipaste_2020-03-08_20-25-12.jpg
问题三 一直下载插件 下载不下来
解决 替换源
修改 Jenkins 源为清华源,下插件快
一 显示页面
cd /var/lib/docker/jenkins-ci
vim hudson.model.UpdateCenter.xml
######################
<?xml version='1.1' encoding='UTF-8'?>
<sites>
<site>
<id>default</id>
<url>https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json</url> (改为清华源)
</site>
</sites>
#######################
二 加速插件下载
cd /var/lib/docker/jenkins-ci/updates
cp default.json default.json.bak
(替换 default.json 中的源)
sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json
&& sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json
退出容器,重启
docker restart Jenkins 容器_id