You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker构建CentOS7基础镜像失败,执行docker build .无成功提示

构建失败原因
  • CentOS 7 已正式停止维护,官方默认yum源已下架,执行yum update命令时无法连接源服务器,直接触发构建报错,这是最核心的原因。
  • Dockerfile中调用openssl passwd生成用户密码,但未预先安装openssl工具包,执行该命令时会提示找不到命令,也会导致构建中断。
修复方法

直接修改你的Dockerfile内容如下,先替换可用的yum源、补充安装依赖即可:

FROM centos:7

# 替换为CentOS 7官方归档源,解决yum无法使用的问题
RUN sed -i s/mirror.centos.org/vault.centos.org/g /etc/yum.repos.d/*.repo \
    && sed -i s/^#.*baseurl=http/baseurl=http/g /etc/yum.repos.d/*.repo \
    && sed -i s/^mirrorlist=http/#mirrorlist=http/g /etc/yum.repos.d/*.repo

ARG user=john
ARG home=/home/$user

# 合并yum指令减少镜像层数,同时安装所需依赖
RUN yum update -y \
    && yum install openssl openssh-server openssh-clients -y \
    && yum clean all

RUN useradd -d $home -p "$(openssl passwd $user)" $user

# 原CMD指令调用的hostnamectl依赖systemd服务,基础镜像默认不预装,若需要使用可额外安装systemd:
# RUN yum install systemd -y && yum clean all
# 若不需要可以替换为其他启动命令,比如启动sshd服务:
# CMD ["/usr/sbin/sshd", "-D"]
CMD ["hostnamectl"]

修改完成后重新执行docker build .即可完成构建。

内容的提问来源于stack exchange,提问作者Ana Marie De Vera

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 22:24:04