我有个小问题要在我的高山图像上安装葡萄酒。这是我的Dockerfile:
RUN dpkg --add-architecture i386 && sudo apt-get update
RUN sudo apt-get install software-properties-common python-software-properties
RUN sudo add-apt-repository ppa:ubuntu-wine/ppa
RUN sudo apt-get update
RUN sudo apt-get install wine1.8 winetricks
RUN sudo apt-get purge software-properties-common python-software-properties
RUN rm -rf /tmp/* /var/lib/apt/lists/* /root/.cache/*
CMD /bin/bash;一切看起来都很好,但在sudo apt安装wine1.8酒会技巧期间,我有一个EULA屏幕:

当然,我没有写“是”的权利。我试过:
RUN echo "yes" | sudo apt-get install wine1.8 winetricks
RUN sudo apt-get -y install wine1.8 winetricks我能做些什么?
发布于 2018-03-09 19:16:09
注意:为了教化起见,如果一个更有学识的linux/docker用户能够解释为什么我的解决方案对我有效的背后的机制,我会很高兴的。
可能的解决方案:我遇到了这个确切的问题。我一定已经尝试过通过我的Dockerfile传递一个可以接受EULA的参数;其中包括将“是”的回音传递到葡萄酒安装命令,就像您尝试过的那样,设置环境变量等等。所以你不是一个人在这里。然而,我确实通过实验找到了一个非常简单的解决方案。
结果是,如果您在安装葡萄酒之前安装了TrueType核心字体( EULA用于的包),您可以像这样传递“是”输入,而葡萄酒永远不会提示输入EULA:
RUN echo "yes" | apt install ttf-mscorefonts-installer -y我不知道这是为什么。我怀疑这是因为安装红酒会在流程中安装其他几个包/依赖项,而echo/管道方法并没有扩展到葡萄酒试图安装的所有包。通过单独安装字体,葡萄酒安装脚本可能忽略包,因为它已经存在,或者字体安装中的某个文件记录了EULA的验收响应。
这是我的Dockerfile的内容。我使用的是Ubuntu16.04LTS,使用DockerVersion18.02.0-ce,构建fc4de44:
FROM ubuntu:16.04
RUN dpkg --add-architecture i386
RUN apt-get update -y
RUN echo "yes" | apt install ttf-mscorefonts-installer -y
RUN apt-get install wine -y我看到这篇文章发布已经四个月了,但是如果你还没有找到解决方案,我希望这会有所帮助!
https://stackoverflow.com/questions/47156320
复制相似问题