Docker构建返回exit code:1 安装curl因无交互确认导致失败
问题原因
apt install 命令默认在安装需要下载依赖包时会弹出交互确认提示,Docker构建过程属于非交互环境,无法接收手动输入,因此会直接终止构建。
修复方案
核心修复
给curl的安装命令添加-y自动确认参数,跳过交互步骤,将对应RUN指令修改为:
RUN apt-get update && \ apt-get install -y curl
可选优化(提升构建稳定性、缩小镜像体积)
你还可以合并同类操作、清理冗余缓存、删除不必要的sudo依赖,优化后的完整Dockerfile参考:
FROM ubuntu:20.04 as build #might be even more slim, yet has not yet been tested: debian-stable-slim # 合并apt操作,安装完成后清理缓存减少镜像体积 RUN apt-get update \ && apt-get install -y wget curl \ && rm -rf /var/lib/apt/lists/* ## Install Docker CLI: ENV DOCKERVERSION=20.10.9 # curl添加-fL参数,下载失败时直接报错避免后续解压异常 RUN curl -fL https://download.docker.com/linux/static/stable/x86_64/docker-${DOCKERVERSION}.tgz \ && tar xzvf docker-${DOCKERVERSION}.tgz --strip 1 \ -C /usr/local/bin docker/docker \ && rm docker-${DOCKERVERSION}.tgz
内容的提问来源于stack exchange,提问作者BenjaminK
相关产品推荐
相关产品推荐

