我正在按照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
在“#获取证书”步骤中中止构建
...因为在构建过程中我无法键入'y'?
在构建过程中是否可以输入“ y”?我尝试传递Dockerfile中所示的-y标志,但是构建仍中止。
答案 0 :(得分:2)
尝试编辑dockerfile,将yes
命令通过管道传递给失败的命令:
RUN yes | /usr/local/bin/certbot-auto --nginx -y
yes
命令一遍又一遍地反复输出y
和返回键。将其插入命令会导致任何提示用户输入y
的情况。当您无法在脚本中使用--force
或-y
选项时,通常会使用它。