在 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

再次拉取:

在 docker 安装 jenkins (解决无法访问jenkins的错误)

准备工作:

#  创建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)