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
选项时,通常会使用它。
我正尝试按照 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
选项时,通常会使用它。