【收集】Docker实战集锦

容器(16)--Docker 中的服务部署jenkins

2020-03-21  本文已影响0人  Explorer_z

一 .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

访问:http://ip:8099

image

找到映射路径这个位置

cd ~/dockerdata/jenkins/secrets/

打开这个文件,查看初始密码

vi initialAdminPassword

这是我的密码: 558285fab4224c07937779fd30a383c9

点击continue,跳转到如下页面

image

选择安装Install suggested plugins,等待其自动安装完成

image

各种插件安装完后,开始设置账户信息,以后用此账户登录jenkins

image

然后进入首页:

image

二 使用Rancher 安装jenkins

应用商店 搜索 jenkins


image.png

更改端口 (因为rancher 占用了8080)


image.png Snipaste_2020-03-06_11-11-55.jpg Snipaste_2020-03-06_11-12-41.jpg

会有三个容器:
第一个容器是 jenkins 服务
第二个是 给 1000 权限 (如果不给,会有权限问题)
第三个 是 安装jenkins插件

Snipaste_2020-03-06_11-13-24.jpg

点击访问


Snipaste_2020-03-08_18-45-45.jpg Snipaste_2020-03-08_18-47-08.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
上一篇 下一篇

猜你喜欢

热点阅读