Docker 构建centos镜像yum报错,语言包下载报错

在尝试使用Docker构建基于CentOS的镜像并运行Yum命令时遇到错误,包括无法设置locale、下载metadata失败以及语言包安装错误。问题源于CentOS 8已停服,导致镜像源不可用。解决方案是切换到CentOS 7或其后续版本如CentOS Stream 8。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

报错场景:

docek pull centos 下来后,在centos中使用yum命令报错(这里的centos是最新的没有加版本号)


2022/6/5 第一行加上版本号 centos:7 否则后面下载yum命令会报找不到代码源错误,因为centos不更新了

问题描述

1. docker 构建centos镜像使用yum install 命令报错:

# 报错内容
Failed to set locale, defaulting to C.UTF-8
CentOS Linux 8 - AppStream                       68  B/s |  38  B     00:00
Error: Failed to download metadata for repo 'appstream': Cannot prepare internal                   mirrorlist: No URLs in mirrorlist

2. 根据报错内容,去下载语言包报错

# 查看语言包
[root@ae87167a11ae etc]# locale -a
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_COLLATE to default locale: No such file or directory
C
C.utf8
POSIX

# 尝试生成语言环境数据库
[root@ae87167a11ae etc]# source /etc/environment
[root@ae87167a11ae etc]# localedef -v -c -i en_US -f UTF-8 en_US.UTF-8
failed to set locale!
[error] character map file `UTF-8' not found: No such file or directory
failed to set locale!
[error] default character map file `ANSI_X3.4-1968' not found: No such file or d                  irectory
[root@ae87167a11ae etc]# yum install vm
Failed to set locale, defaulting to C.UTF-8
CentOS Linux 8 - AppStream                       77  B/s |  38  B     00:00
Error: Failed to download metadata for repo 'appstream': Cannot prepare internal                   mirrorlist: No URLs in mirrorlist

# 尝试安装 语言包
[root@ae87167a11ae etc]# dnf install glibc-langpack-en
Failed to set locale, defaulting to C.UTF-8
CentOS Linux 8 - AppStream                      2.4  B/s |  38  B     00:15
Errors during downloading metadata for repository 'appstream':
  - Curl error (6): Couldn't resolve host name for http://mirrorlist.centos.org/                  ?release=8&arch=x86_64&repo=AppStream&infra=container [Could not resolve host: m                  irrorlist.centos.org]
Error: Failed to download metadata for repo 'appstream': Cannot prepare internal                   mirrorlist: No URLs in mirrorlist
[root@ae87167a11ae etc]# dnf install glibc-langpack-en
Failed to set locale, defaulting to C.UTF-8
CentOS Linux 8 - AppStream                       25  B/s |  38  B     00:01
Error: Failed to download metadata for repo 'appstream': Cannot prepare internal                   mirrorlist: No URLs in mirrorlist

原因分析&解决方案:

以上尝试解决方法均未成功,原因是cenos8停服,后继版本为8-steam,当然也可以pull centos:7.0的镜像

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值