IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 记一次docker构建自定义centos镜像问题 -> 正文阅读

[系统运维]记一次docker构建自定义centos镜像问题

Docketfile文件

FROM centos
MAINTAINER mika

ENV path /home/mika
WORKDIR $path

RUN yum -y install vim
RUN yum -y install net-tools

EXPOSE 80

CMD echo $path
CMD echo "---end---"
CMD /bin/bash

在执行构建时报错

Error: Failed to download metadata for repo ‘appstream’: Cannot prepare internal mirrorlist: No URLs in mirrorlist

根据报错信息找到关联问题:
链接:https://blog.csdn.net/xiaocao_debug/article/details/122807870

在2022年1月31日,CentOS团队终于从官方镜像中移除CentOS 8的所有包。
CentOS8已于2021年12月31日寿终正非,但软件包仍在官方镜像上保留了一段时间。现在他们被转移到https://vault.centos.org

简单点说,就是CentOS 8的rpm包已从原yum仓库地址移除,不再支持,但是这些包被转移到了https://vault.centos.org

解决方案:
知道了原因,就知道了解决方法,将默认得yum仓库地址修改为https://vault.centos.org即可
配置文件位于目录/etc/yum.repos.d下,下面是centos8的演示结果,centos7内容会不太一样。

[root@b8990d532e92 yum.repos.d]# pwd
/etc/yum.repos.d
[root@b8990d532e92 yum.repos.d]# tree
.
|-- CentOS-Linux-AppStream.repo
|-- CentOS-Linux-BaseOS.repo
|-- CentOS-Linux-ContinuousRelease.repo
|-- CentOS-Linux-Debuginfo.repo
|-- CentOS-Linux-Devel.repo
|-- CentOS-Linux-Extras.repo
|-- CentOS-Linux-FastTrack.repo
|-- CentOS-Linux-HighAvailability.repo
|-- CentOS-Linux-Media.repo
|-- CentOS-Linux-Plus.repo
|-- CentOS-Linux-PowerTools.repo
`-- CentOS-Linux-Sources.repo

随便查看一个仓库配置,忽略注释,内容如下,

[root@b8990d532e92 yum.repos.d]# cat CentOS-Linux-BaseOS.repo 
# CentOS-Linux-BaseOS.repo
[baseos]
name=CentOS Linux $releasever - BaseOS
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=BaseOS&infra=$infra
#baseurl=http://mirror.centos.org/$contentdir/$releasever/BaseOS/$basearch/os/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial

其中mirrorlist指定了yum源地址,是不是对应了报错信息,Cannot prepare internal mirrorlist: No URLs in mirrorlist

找到配置了,修改我也不太熟悉操作,直接找到的网上方法,使用sed命令批量编辑匹配到的文本文件

 # 将/etc/yum.repos.d/目录下所有CentOS-*格式的文件中的mirrorlist配置注释掉
 sed -i -e "s|mirrorlist=|#mirrorlist=|g" /etc/yum.repos.d/CentOS-*
 # 将/etc/yum.repos.d/目录下所有CentOS-*格式的文件中的baseurl的注释取消掉,并将地址内容改为指定的新地址
 sed -i -e "s|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g" /etc/yum.repos.d/CentOS-*

所以修改之后,再查看内容

[root@b8990d532e92 yum.repos.d]# cat CentOS-Linux-BaseOS.repo 
# CentOS-Linux-BaseOS.repo
[baseos]
name=CentOS Linux $releasever - BaseOS
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=BaseOS&infra=$infra
baseurl=http://vault.centos.org/$contentdir/$releasever/BaseOS/$basearch/os/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial

回到最开始构建镜像,经实测,解决方式也有两种:

  1. 指定centos版本
    修改为 FROM centos:7,因为默认是8,改为7,惊奇的发现7的yum源还是可用的,不用做修改
FROM centos:7
MAINTAINER mika

ENV path /home/mika
WORKDIR $path

RUN yum -y install vim
RUN yum -y install net-tools

EXPOSE 80

CMD echo $path
CMD echo "---end---"
CMD /bin/bash
  1. 修改YUM源地址
    在Dockerfile文件中,执行yum之前,执行上述两天sed命令,修改yum源地址
FROM centos
MAINTAINER mika

ENV path /home/mika
WORKDIR $path

RUN sed -i -e "s|mirrorlist=|#mirrorlist=|g" /etc/yum.repos.d/CentOS-*
RUN sed -i -e "s|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g" /etc/yum.repos.d/CentOS-*
RUN yum -y install vim
RUN yum -y install net-tools

EXPOSE 80

CMD echo $path
CMD echo "---end---"
CMD /bin/bash
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-06-25 18:26:09  更:2022-06-25 18:26:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/30 2:29:16-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码