docker之jenkins安装

拉取jenkins镜像

docker pull jenkins/jenkins:lts

这是最新版的jenkins 镜像,其他的jenkins镜像仓库都被官方弃用了

创建jenkins 容器

docker run -d -p 8090:8080 -p 50000:50000 \
-v /opt/jenkins/:/var/jenkins_home \
-v /etc/localtime:/etc/localtime \
--restart=always \
--name jenkins \
jenkins/jenkins:lts

-d:后台模式启动
-p 端口映射 将本地的 8090 端口绑定到容器的 8080 端口上
基于 JNLP 的 Jenkins 代理通过 TCP 端口 50000 与 Jenkins master 进行通信
-v:(挂载卷)主机的目录 /opt/jenkins 映射到容器的 /var/jenkins_home。
–name:给新创建的容器命名,
–restart=always 当docker重启后 容器也会自动重启

docker ps -a

在这里插入图片描述
发现容器已经退出运行
我们查看日志

docker logs jenkins

在这里插入图片描述
发现是volume(j卷)的权限问题,当映射本地卷(/opt/jenkins)时,
/var/jenkins_home 的用户为root,jenkins的usr就没有访问权限,
我们用以下命令

 docker run -ti --rm --entrypoint="/bin/bash" jenkins/jenkins:lts  -c "whoami && id" 

在这里插入图片描述
得知容器中jenkins user的uid为1000
此时 赋予 uid 1000 的文件操作权限

chown -R 1000:1000 /opt/jenkins

启动并查看日志

docker start jenkins &&
docker -t -f --tail 100 jenkins 

jenkins正常启动,但是在日志中 有可能发现以下错误日志
在这里插入图片描述
说明,这个地址连接超时,下在插件会失败,有两个解决办法
首先在挂载的/opt/jenkins目录下找到hudson.model.UpdateCenter.xml文件

vi hudson.model.UpdateCenter.xml

第一种:将https://updates.jenkins.io/update-center.json的s去掉
第二种:换成国内的链接,
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
然后重启容器

docker restart jenkins 

打开网址

http://xxx.xxx.32.xxx:8090

出现
在这里插入图片描述
至此安装成功!

解锁jenkins

jenkins启动后,使用docker logs jenkins
在这里插入图片描述
第一个红框即jenkins 初始密码 这个密码保存在第二个红框路径下
同时 挂载在/opt/jenkins目录下
输入密码后,可能提示
在这里插入图片描述
解决方法如下:
修改hudson.model.UpdateCenter.xml,方法再上文中⬆
修改/opt/jenkins/updates/default.json
因jenkins在安装插件时需要检查网络,默认是访问google的
我们需要改成百度的www.baidu.com
在这里插入图片描述
该好后 重启jenkins 无日志异常

 docker restart jenkins && docker logs -t -f --tail 100 jenkins

插件安装 选择新手入门

创建账户

实例配置

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章