我想从Dockerfile创建一个关于PyQt5的图像。 以下是Dockerfile中的部分代码。
RUN cd PyQt-gpl-5.5.1 &&\
python3 configure.py
当代码执行时,它会问我"您是否接受许可条款?" ,但我无法输入任何字词。
我不想使用命令' commit'。 那么如何从Dockerfile创建图像交互式?
答案 0 :(得分:2)
如果shell管道不起作用,您可以回退到an expect script。
您可以在visity/docker-build-android
RUN dpkg --add-architecture i386 && apt-get update && \
apt-get install -y --force-yes expect ...
tools/android-accept-licenses.sh
允许docker build tp在首先接受许可后使用android :
expect {
"Do you accept the license '*'*" {
exp_send "y\r"
exp_continue
}
eof
}
COPY tools /opt/tools
ENV PATH ${PATH}:/opt/tools
RUN ["/opt/tools/android-accept-licenses.sh", "android update sdk --all --no-ui --filter platform-tools,tools,build-tools-22.0.1,android-22,addon-google_apis_x86-google-22,extra-android-support,extra-android-m2repository,extra-google-m2repository,sys-img-armeabi-v7a-android-22"]
此处,android-accept-licenses.sh
是主机/opt/tools
的一部分,它被复制到图像中,然后用于RUN
指令。