在 docker 安装 jenkins (解决无法访问jenkins的错误)
前提:安装好docker。
拉取Jenkins镜像:
docker pull jenkins
遇到错误:Docker:TLS handshake timeout错误
原因:国外,网速慢,镜像拉取失败。
解决办法:
新增/etc/docker/daemon.json 文件并添加上 registry-mirrors 键值。
{
"registry-mirrors": ["https://registry.docker-cn.com"]
}
修改保存后重启 Docker 以使配置生效。
service docker restart
再次拉取:
准备工作:
# 创建jenkins运行目录:
mkdir /home/jenkins
# 查看目录权限:
ls -nd jenkins/
# 更改目录权限:给uid为1000的权限
chown -R 1000:1000 jenkins/
注意:不修改目录权限会出现错误。这个错误在jenkins的日志里,可以用命令查看:docker logs -f jenkins
Can not write to /var/jenkins_home/copy_reference_file.log. Wrong volume permissions?
touch: cannot touch ‘/var/jenkins_home/copy_reference_file.log’: Permission denied
启动Jenkins:
docker run -itd -p 9090:8080 -p 50000:50000 --name jenkins -v /home/jenkins:/var/jenkins_home jenkins
![](https://img2018.cnblogs.com/blog/1454031/201907/1454031-20190726201107314-1975311085.png)
可以看到我们的容易已经在运行了。
界面访问"ip:9090",自动跳转至登录界面。
jenkins安装完成后自动跳转到这个页面要求输入密码:
![](https://img2018.cnblogs.com/blog/1454031/201907/1454031-20190726201353394-1485921469.png)
页面有提示我们密码在哪里:但我们直接去我们最开始建好的目录下找密码:
![](https://img2018.cnblogs.com/blog/1454031/201907/1454031-20190726201656578-1059786440.png)
成功获取到密码!复制到输入框。然后进入jenkins安装插件界面,选择建议安装的插件(或者自己去选取插件安装)。
![](https://img2018.cnblogs.com/blog/1454031/201907/1454031-20190729110808033-1217268741.png)
然后设置第一个管理员账户:
![](https://img2018.cnblogs.com/blog/1454031/201907/1454031-20190726205151341-395921227.png)
完成后进入jenkins主页面。
![](https://img2018.cnblogs.com/blog/1454031/201907/1454031-20190726205253479-1584207463.png)
**排错:**
如果容器已经运行,查看容器有关jenkins的日志也没有错误,却无法访问,那么请检查服务器的防火墙是否关闭,另外检查服务器安全组。
简单粗暴:我直接将服务器的所有端口全部打开了!
![](https://img2018.cnblogs.com/blog/1454031/201907/1454031-20190729110503190-689702668.png)