docker - 需要 'y'响应的Docker构建镜像

标签 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”?我尝试传递-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/

相关文章:

Docker 和 -march native

bash - docker 图像输出操作

docker - 如何连接到远程主机上运行的 docker 容器

azure - AKS - 将插件 HTTP 应用程序路由与 nginx 重写规则结合起来?

node.js - 具有多个 Node 的多人游戏服务器

scala - 我可以在scala项目中使用docker-compose吗?

docker - 使用 Docker Compose 构建 Apache Mesos 集群

nginx - nginx代理从端口80到其他端口

docker - 适用于GPU和非GPU版本的Dockerfile

docker - vscode 中的断点 (Win 10) "unverified"并且在 Linux Docker 容器 (Hyper-V) 中远程调试 Go 应用程序时未命中