Dockerfile 禁止弹出 apt 安装交互视图

在 Dockerfile 中执行 apt 安装时,有些软件包可能会在安装过程中弹出交互式视图,例如询问用户是否接受软件包许可证或配置软件包参数等。在 Docker 构建过程中,由于无法

进行交互式操作,这些视图可能会导致构建失败或出现不可预期的结果。为避免这些问题,可以通过以下方法避免在 Docker 构建过程中弹出交互式视图:

在 apt-get 命令中使用 -y 参数,该参数表示自动回答“yes”所有询问,例如:

1
RUN apt-get update && apt-get install -y package-name

在这个例子中,-y 参数告诉 apt-get 自动回答所有询问为“yes”,不需要手动操作确认。

在 Dockerfile 中设置环境变量 DEBIAN_FRONTEND 为 noninteractive,例如:

1
2
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update && apt-get install -y package-name

在这个例子中,将 DEBIAN_FRONTEND 设置为 noninteractive,表示不需要交互式界面。

通过这些方法,可以在 Docker 构建过程中避免 apt 安装弹出交互式视图,从而确保构建过程的顺利进行。需要注意的是,自动回答所有询问可能会带来一定的安全风险,应该根据实际需求选择合适的方案。


Dockerfile 禁止弹出 apt 安装交互视图
https://www.frytea.com/post/20230313164120.html
作者
Tianlun Song
发布于
2023年3月13日
更新于
2024年6月10日
许可协议