为什么我无法使用下面的 Dockerfile 创建镜像?我遇到以下错误

问题描述 投票:0回答:1

来自centos:centos7 运行 yum install httpd -y 复制 。 /var/www/html/ CMD [“/usr/sbin/httpd”,“-D”,“前景”]

出现以下错误。如果有任何错误请纠正我的语法

=> 错误 [2/3] 运行 yum install httpd -y 0.7s => [内部]加载构建上下文0.0s => => 传输上下文:3.14kB 0.0s

[2/3] 运行 yum install httpd -y: 0.602 CentOS Linux 8 - AppStream 0.0 B/s | 0.602 CentOS Linux 8 - AppStream 0.0 B/s 0B 00:00
0.603 下载存储库“appstream”元数据时出错: 0.603 - Curl 错误 (6):无法解析 http://mirrorlist.centos.org/?release=8&arch=x86_64&repo=AppStream&infra=container 的主机名 [无法解析主机:mirrorlist.centos.org] 0.612 错误:无法下载存储库“appstream”的元数据:无法准备内部镜像列表:Curl 错误 (6):无法解析 http://mirrorlist.centos.org/?release=8&arch=x86_64&repo=AppStream&infra 的主机名=container [无法解析主机:mirrorlist.centos.org]


Dockerfile:2

1 | 来自centos:最新 2 | >>> 运行 yum install httpd -y 3 | 复制 。 /var/www/html/ 4 | CMD [“/usr/sbin/httpd”,“-D”,“前景”]

错误:无法解决:进程“/bin/sh -c yum install httpd -y”未成功完成:退出代码:1

linux apache dockerfile centos devops
1个回答
0
投票

原因是 CentOS 7 已经生命周期结束,其默认镜像列表不再可用。

要解决此问题,您可以在安装 Apache 之前将库(存档)镜像添加到 Dockerfile 中:

RUN sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-* && \
    sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*

如果您想考虑更新此项目的操作系统,请尝试Rocky LinuxCentOS Stream

© www.soinside.com 2019 - 2024. All rights reserved.