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

CentOS 7 Docker镜像构建时yum安装进程卡住问题求助

解决Docker构建时yum安装卡住的问题

问题定位

从你提供的Dockerfile和yum输出来看,卡住的核心原因是CentOS 7默认软件源中没有temurin-11-jdk包,yum会持续搜索该包导致进程挂起;另外,多步yum操作和未优化的源配置也可能加剧卡住的概率。

解决方案

修改Dockerfile,补充temurin的软件源,同时优化yum命令参数避免卡住:

FROM centos:7

# 配置DNS解析,避免域名解析延迟
RUN set -ex && echo 'hosts: files dns' > /etc/nsswitch.conf

# 添加Docker CE源并安装Docker组件,禁用fastestmirror避免源选择卡住
RUN set -ex && yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo && \
    yum -q install -y --disableplugin=fastestmirror docker-ce docker-ce-cli containerd.io && \
    yum clean all && rm -rf /var/cache/yum

# 添加Adoptium Temurin官方源(提供temurin系列JDK包)
RUN set -ex && curl -fsSL https://packages.adoptium.net/artifactory/api/gpg/key/public | tee /etc/pki/rpm-gpg/RPM-GPG-KEY-Adoptium && \
    curl -fsSL https://packages.adoptium.net/artifactory/rpm/centos/7/x86_64/repo.repo | tee /etc/yum.repos.d/adoptium.repo

# 安装基础依赖和Temurin JDK,设置超时时间并清理缓存
RUN set -ex && yum -q update -y --disableplugin=fastestmirror --timeout=300 && \
    yum -q install -y --disableplugin=fastestmirror --timeout=300 \
    bash \
    bzip2-devel \
    ca-certificates \
    curl \
    epel-release \
    gcc \
    gcc-c++ \
    git \
    gnutls \
    gnutls-devel \
    libffi-devel \
    make \
    ncurses-devel \
    openssh-clients \
    openssh-server \
    openssl \
    openssl-devel \
    rsync \
    readline-devel \
    tar \
    unzip \
    wget \
    zip \
    zlib-devel \
    temurin-11-jdk && \
    yum clean all && rm -rf /var/cache/yum

关键调整点

  • 补充Temurin源:CentOS 7官方源不含temurin系列JDK,必须先添加Adoptium的官方rpm源才能找到该包
  • 禁用fastestmirror插件:该插件在自动选择最快源时容易卡住,直接禁用可避免此类问题
  • 设置yum超时:添加--timeout=300(5分钟),避免因网络波动导致无限等待
  • 清理yum缓存:每步yum操作后清理缓存,减少镜像体积同时避免缓存引发的异常
  • 简化DNS配置:原配置中的mdns相关项可能导致解析延迟,改为最简的files dns更稳定

内容的提问来源于stack exchange,提问作者Stark

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 18:35:41