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

时间:2020-07-23 01:43:27

标签: docker nginx docker-compose certbot

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

Dockerfile:

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

在“#获取证书”步骤中中止构建

enter image description here

enter image description here

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

在构建过程中是否可以输入“ y”?我尝试传递Dockerfile中所示的-y标志,但是构建仍中止。

1 个答案:

答案 0 :(得分:2)

尝试编辑dockerfile,将yes命令通过管道传递给失败的命令:

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

yes命令一遍又一遍地反复输出y和返回键。将其插入命令会导致任何提示用户输入y的情况。当您无法在脚本中使用--force-y选项时,通常会使用它。