今天我在“Docker中安装Centos测试环境”的时候,遇到一个错误:
http://centos.mirror.iweb.ca/7/addons/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 404 - Not Found”
原因
从上面报错也可以看出来,主要的原因是404 Not Found。
解决方法
讲解决方法前,先说一下,由于今天我需要在Docker中安装Centos(安装命令:docker pull centos)实验环境,因此我就把整个过程完整的复述一遍吧!
注意:
从docker官网获取的centos镜像默认是没有安装wget命令,需要我们自行安装。
以我这为例子,具体的操作步骤如下:
1、安装wget安装包 wget-1.14-15.el7.x86_64
2、将下载的rpm包拷贝到centos系统中,拷贝的命令:
docker cp /home/download/wget-1.14-15.el7.x86_64.rpm container_name:/home/outdisk/
docker cp 命令可以实现本地文件系统与容器之间的文件或者文件夹的拷贝,标准用法:
Usage: docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH
3、执行命令,完成wget命令的安装。
rpm -ivh wget-1.14-15.el7.x86_64.rpm
注意,如果已经有了yum源,则可通过yun源命令来安装wget:
yum -y install wget
4、进入yum源配置目录:
cd /etc/yum.repos.d/
5、执行命令,获取sohu软件源:
wget http://mirrors.sohu.com/help/CentOS-Base-sohu.repo
下载完后,yum.repos.d会多出一个文件:CentOS-Base-sohu.repo
6、更新yum源:
yum update -y
7、执行下边命令更新yum配置,使操作立即生效:
yum makecache
注意:
我走到这一步的时候就会出现上面的报错,将讲我的解决方法,如下:
第一步:
编辑文件 : /etc/yum.repos.dCentOS-Base-sohu.repo
原文有这么一段:
[addons]
name=CentOS-$releasever - Addons - sohu.com
mirrorlist=http://mirrorlist.centos.org/?release=releasever&arch=releasever&arch=basearch&repo=addons
baseurl=http://mirrors.sohu.com/centos/releasever/addons/releasever/addons/basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
第二步:
只需要小小的改动就能解决,把 addons 改为 os 即可!
[os]
name=CentOS-$releasever - Addons - sohu.com
mirrorlist=http://mirrorlist.centos.org/?release=releasever&arch=releasever&arch=basearch&repo=addons
baseurl=http://mirrors.sohu.com/centos/releasever/os/releasever/os/basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
8、再次运行 yum makecache ,不出意外的话,命令将完美被执行!
yum makecache