Docker安装Jenkins报错后升级Centos7升级内核
很久没碰docker了,昨晚在虚拟机上用docker pull jenkinsci/blueocean安装Jenkins启动报如下错误:
java.net.UnknownHostException: updates.jenkins.io
最后发现容器ping docker0都是不通的,尴尬,想想应该是内核或docker版本的问题,安装的centos7内核版本是3.10,升级到最新稳定版5.x后重启,问题解决。
1、查询系统内核版本
仅查看版本信息
uname -r
查看版本信息及相关内容
uname -a
通过绝对路径查看查看版本信息及相关内容
cat /proc/version
通过绝对路径查看查看版本信息
cat /etc/redhat-release
2、更新系统内核版本(参考Centos7 升级内核版本)
更新版本使用yum,建议提前更新yum源仓库
更新yum源仓库
yum -y update
更新完成后,启用 ELRepo 仓库并安装ELRepo仓库的yum源
ELRepo 仓库是基于社区的用于企业级 Linux 仓库,提供对 RedHat Enterprise (RHEL) 和 其他基于 RHEL的 Linux 发行版(CentOS、Scientific、Fedora 等)的支持。
1、导入ELRepo仓库的公共密钥
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
2、安装ELRepo仓库的yum源
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
3、查询可用内核版本
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
可选版本如下:yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
其中lt表示long-term,即主线版本,该版本建议慎重选择。
其中mt表示latest mainline,即长期稳定版本,稳定可靠,建议安装该版本
如:yum -y --enablerepo=elrepo-kernel install kernel-lt
4、安装最新的稳定版本内核
yum -y --enablerepo=elrepo-kernel install kernel-lt会默认安装lt的最新版本,即5.4.207-1.el7.elrepo,也可根据具体需要指定对应版本。
安装完成后需要设置 grub2,即内核默认启动项
5、设置 grub2
内核安装好后,需要设置为默认启动选项并重启后才会生效
查看系统上的所有可用内核:
sudo awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg刚刚安装的内核即0 : CentOS Linux (5.4.207-1.el7.elrepo.x86_64) 7 (Core)
我们需要把grub2默认设置为0
可以通过 grub2-set-default 0 命令或编辑 /etc/default/grub 文件来设置
方法1:通过 grub2-set-default 0 命令设置
grub2-set-default 0
方法2:编辑
/etc/default/grub
文件vim /etc/default/grub
编辑(e)将GRUB_DEFAULT设置为0,如下
修改完成后保存退出(:wq)
6、生成 grub 配置文件并重启
grub2-mkconfig -o /boot/grub2/grub.cfg重启虚拟机或物理机
reboot
启动第一个(刚刚安装的内核版本)内核版本
7、验证是否成功安装
使用查询内核版本命令
uname -ra
8、删除旧内核(可选)
查看系统中的全部内核
rpm -qa | grep kernel
可选择删除3.10版本的内核
yum remove kernel-版本