一 系统环境
[root@db01 ~]# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)
[root@db01 ~]# uname -a
Linux db01 3.10.0-862.el7.x86_64 #1 SMP Fri Apr 20 16:44:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
二 问题描述
使用centos6的镜像,成功创建docker容器并进入交互式容器内部,在使用yum命令安装软件时遇到下面的报错。
WARNING: IPv4 forwarding is disabled. Networking will not work.
大概意思是由于ip问题导致网络不可用。
在容器中无法安装一些基础命令,自然无法做其他事情了,十分影响学习与工作。
三 原因分析
首先检查centos7的网卡配置,发现都是正确的。
其次看一下centos-base镜像的yum源是否是官方最新版本的。
在更新base与epel源后,容器内可以使用yum命令安装基础的iproute*等软件包了。
四 解决方案
进入阿里云镜像的官网找到对应的base镜像链接。
对原来的base镜像的备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
下载安装新的base镜像
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-6.10.repo
对原来的epel镜像的备份
mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.bak
下载安装新的epel镜像
curl -o /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-6.repo
然后就可以安装命令软件包了
yum install -y iproute*
如果阿里云镜像源的变量导致找不到特定的文件,那么就把这个配置文件里面的所有releaseserver
变量换成7
。
在vim后,命令模式输入下面内容 :%s#\$releaseserver#7#g
然后再yum clean all
和yum makecache
,就能正常安装软件了。