docker 安装Jenkins(一)
1、通过docker 安装Jenkins
# 拉取Jenkins镜像
docker pull jenkins/jenkins:lts
# 运行Jenkins容器
docker run -di --name=jenkins -p 8080:8080 -v /mydata/jenkins_home:/var/jenkins_home jenkins/jenkins:lts
# 查看客户端初始密码
docker logs jenkins
# 找到这样的表示
*************************************************************
*************************************************************
*************************************************************
Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:
8013....................658 (这块就是初始密码)
This may also be found at: /var/jenkins_home/secrets/initialAdminPassword
*************************************************************
*************************************************************
*************************************************************
# 或者在自己初始化的文件中也可以找到密码
cat /mydata/jenkins_home/secrets/initialAdminPassword(/secrets/initialAdminPassword (这个路径是固定的))
2、当输入完密码,页面在加载时。出现图片中的内容时
有可能是Docker 容器内部无法访问外部网络
使用docker logs jenkins
出现:WARNING hudson.model.UpdateCenter#updateDefaultSite: Upgrading Jenkins. Failed to update the default Update Site 'default'. Plugin upgrades may fail.
java.net.UnknownHostException: updates.jenkins.io
报错时,使用以下命令
- 查询docker网络的转发原理,docker中的网络是通过NAT转发至宿主主机处理的,遂查询宿主主机防火墙NAT转发情况:
$ firewall-cmd --query-masquerade
no
通过以上情况可见在此宿主主机中防火墙的NAT转发并未开启,通过以下命令开启,并重启防火墙:
$ firewall-cmd --zone=public --add-masquerade --permanent
$ firewall-cmd --reload
如果使用命令出现 FirewallD is not running 问题 :
1.查看firewalld状态:systemctl status firewalld,如果是dead状态,即防火墙未开启。
2.开启防火墙:systemctl start firewalld
3.确认firewalld状态:systemctl status firewalld
(根据需求是否关闭防火墙)关闭防火墙:systemctl stop firewalld
重新加载页面,出现这个时,就证明已经没有问题了: