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

jim*_*mmy 7 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
Run Code Online (Sandbox Code Playgroud)

有人告诉我如何回答 dockerfile 中的安装问题吗?

gia*_*ola 10

我测试了您的 Dockerfile 并且不必回答任何问题,但是如果您想在运行命令时自动回答,您可以使用yes(用于“y”和“n”响应)或echo.

前任:

yes | <YOUR COMMAND>

yes n | <YOUR COMMAND> “n”响应

echo | <YOUR COMMAND> echo 生成一个新行(回车)

echo "some response" | <YOUR COMMAND> 用“一些回应”回应


Bin*_*ati 6

如果您有多个问题需要回答:

printf "answer1\nanswer2\nanswer3" | <your_script.sh>
Run Code Online (Sandbox Code Playgroud)

各个答案由字符分隔\n