我正在尝试按照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”?我尝试传递-y标志,如我的Dockerfile中所示,但是构建仍然中止。
最佳答案
尝试编辑dockerfile以将yes
命令传递到失败的命令中:
RUN yes | /usr/local/bin/certbot-auto --nginx -y
yes
命令会一遍又一遍地反复输出y
和返回键。将其输入命令会导致任何提示用户使用y
回答的输入。当您无法在脚本中使用--force
或-y
选项时,通常使用它。
关于docker - 需要 'y'响应的Docker构建镜像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63045603/