Dockerfile中如何自动回答标准输入的问题


前言
大家在用docker build制作自己的image的時候,都会用RUN命令来执行一些操作来安装某些必须的软件。

而一些软件的安装过程中会需要用户来输入yes/no或者y/n来确定一些东西后才能进入到下一步的安装。

这个在Dockerfile可以这样解决。

如果是用yum来安装的场合
RUN yum install -y xxx
1
-y参数可以跳过软件的询问,相当于回答了yes。

如果是安装脚本的场合
比如我们用sh Anaconda3-4.4.0-Linux-x86_64.sh来安装anaconda的时候,”烦人”的anaconda会问四个问题,我的回答顺序分别是Enter,yes,Enter,yes。于是你可以这样写:

RUN sh -c '/bin/echo -e "\nyes\nyes" | sh Anaconda3-4.4.0-Linux-x86_64.sh'


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2026 CODEPRJ.COM