docker - 如何运行一个接受多个用户完整输入的 bash 脚本,作为 dockerfile 的一部分
问题描述
我有以下 dockerfile 需要运行 owasp bash 文件以进行安装。这个 .sh 文件需要用户的多个输入(如 1、Y、回车)来完成安装。
如何从 dockerfile 提供这些输入,或者有没有办法跳过这些输入并继续安装。
这个 dockerfile 是 docker-compose 的一部分。
下面是 dockerfile
FROM ubuntu:20.04
RUN apt-get update && apt-get upgrade -y && apt-get clean
RUN apt-get install python3-pip -y
RUN apt-get install vim -y
ARG DEBIAN_FRONTEND=noninteractive
ENV TZ=Indian
# Install OpenJDK-8
RUN apt-get install -y openjdk-8-jdk && \
apt-get install -y ant && \
apt-get clean;
# Fix certificate issues
RUN apt-get update && \
apt-get install ca-certificates-java && \
apt-get clean && \
update-ca-certificates -f
ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64/
RUN export JAVA_HOME
RUN apt-get install wget -y && \
apt-get install unzip -y && \
apt-get install zip -y
RUN mkdir /home/owasp
RUN wget -c https://github.com/zaproxy/zaproxy/releases/download/v2.11.0/ZAP_2_11_0_unix.sh -P /home/owasp
RUN chmod u+x /home/owasp/ZAP_2_11_0_unix.sh
RUN ./home/owasp/ZAP_2_11_0_unix.sh
解决方案
使用 Linux 软件包:https ://github.com/zaproxy/zaproxy/releases/download/v2.11.0/ZAP_2.11.0_Linux.tar.gz 这具有相同的内容,但只是一个 gzip 压缩的 tar 文件 :) 完整列表可用的 ZAP 下载位于https://www.zaproxy.org/download/
或者您可以随时扩展我们的 docker 镜像https://www.zaproxy.org/docs/docker/
推荐阅读
- spring-webflux - WebFlux RestController 参数处理
- java - Angular 6 Spring Boot POST 问题
- django - 带有 ForeignKey 的模型“缺少 1 个必需的位置参数”
- python - 更好地查询迭代 CSV 文件每一行的 API 请求?
- javascript - 在 firebase firestore 上实时停止查询
- android - 位图中的白色填充和图像
- mysql - 数据库和文件中的 UTF8MB4?
- react-native - React Native - 组件更新父级
- scala - Scala 从 DSL 到函数的自然转换
- c# - 使用 XPath 测试当前节点