我经常使用 centos 7 作为基础映像构建 docker 容器。但是现在我运行时出错,
RUN yum update add \
bash \
&& rm -rfv /var/cache/apk/*
ERROR:
Loaded plugins: fastestmirror, ovl
Run Code Online (Sandbox Code Playgroud)
配置的存储库之一失败(未知),并且 yum 没有足够的缓存数据来继续。在这一点上,yum 唯一可以做的安全事情就是失败。有几种方法可以“修复”这个问题:
联系存储库的上游并让他们解决问题。
重新配置 baseurl/etc。对于存储库,指向一个工作上游。如果您使用的分发版本比存储库支持的版本更新(并且先前分发版本的包仍然有效),这通常很有用。
在暂时禁用存储库的情况下运行命令
yum --disablerepo=<repoid> ...
永久禁用存储库,因此 yum 默认不会使用它。然后 Yum 将忽略存储库,直到您再次永久启用它或--enablerepo用于临时使用:
yum-config-manager --disable <repoid>
Run Code Online (Sandbox Code Playgroud)
或者
`subscription-manager repos --disable=<repoid>`
Run Code Online (Sandbox Code Playgroud)如果失败的存储库不可用,则将其配置为跳过。请注意,yum 将尝试联系 repo。当它运行大多数命令时,因此每次都必须尝试并失败(因此 yum 会慢得多)。如果这是一个非常暂时的问题,这通常是一个很好的折衷方案:
yum-config-manager --save --setopt=<repoid>.skip_if_unavailable=true
Run Code Online (Sandbox Code Playgroud)找不到用于 repo 的有效 baseurl:base/7/x86_64 无法检索镜像列表 http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=container 错误为 14:curl#6 -“无法解析主机: mirrorlist.centos.org; 名称或服务未知” 命令 '/bin/sh -c yum update add
bash && rm -rfv /var/cache/apk/*' 返回非零代码:1
我还看到很少有使用“dhclient”的解决方案,但是当我执行 docker-compose …