Docker 构建需要 'y' 响应的图像

Docker building image that needs 'y' response

我正尝试按照 Certbot 网站上的步骤将 Certbot 安装到我的 Nginx 容器中:https://certbot.eff.org/lets-encrypt/pip-nginx

Docker 文件:

FROM nginx:1.17.1

# install wget
RUN apt-get update
RUN apt-get install wget -y

# install certbot
RUN wget https://dl.eff.org/certbot-auto
RUN mv certbot-auto /usr/local/bin/certbot-auto
RUN chown root /usr/local/bin/certbot-auto
RUN chmod 0755 /usr/local/bin/certbot-auto

# get certificate
RUN /usr/local/bin/certbot-auto --nginx -y

# setup automatic renewal
...

我使用 docker-compose

构建图像
$ docker-compose build

构建在“# get certificate”步骤中止

...因为我无法在构建过程中输入 'y'?

有什么方法可以在构建过程中输入 'y' 吗?我已尝试传递 -y 标志,如我的 Dockerfile 中所示,但构建仍然中止。

尝试编辑 dockerfile 以将 yes 命令通过管道传输到失败的命令中:

RUN yes | /usr/local/bin/certbot-auto --nginx -y

yes 命令不断地重复输出 y 加上 return 键。将其通过管道传输到命令中会导致任何提示用户输入的内容都用 y 来回答。当您无法在脚本中使用 --force-y 选项时,通常会使用它。