我尝试使用dockerfile安装某些东西。 但是当我运行命令时,我必须回答如下问题:
输入
6
72
我的dockfile如下所示,但似乎不起作用。
FROM ubuntu:latest
RUN apt-get update
RUN apt-get install -y expect
RUN apt-get -y install software-properties-common
RUN apt-add-repository ppa:ondrej/php
expect “Press [ENTER] to continue or Ctrl-c to cancel adding it. ” { send “\n” }
RUN apt-get -y install php7.1 php7.1-fpm
expect “Please select the geographic area in which you live. ” { send “6\n” }
expect “Please select the city or region corresponding to your time zone. ” { send “72\n” }
RUN -y apt-get install nginx
有人告诉我如何在dockerfile中回答安装问题吗?
答案 0 :(得分:3)
我测试了您的Dockerfile,无需回答任何问题,但是如果您想在运行命令时自动回答问题,则可以使用yes
(用于“ y”和“ n”响应)或echo
。
例如:
yes | <YOUR COMMAND>
yes n | <YOUR COMMAND>
“ n”响应
echo | <YOUR COMMAND>
回声生成新行(输入)
echo "some response" | <YOUR COMMAND>
响应,带有“某些响应”
答案 1 :(得分:1)
如果您有多个问题要回答:
printf "answer1\nanswer2\nanswer3" | <your_script.sh>
各个答案以 \n
字符分隔。