如何回答dockerfile中的安装问题?

时间:2018-09-10 12:31:17

标签: docker dockerfile

我尝试使用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中回答安装问题吗?

2 个答案:

答案 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 字符分隔。