在Dockerfile中执行dpkg-reconfigure wireshark-common

时间:2017-05-21 08:38:21

标签: docker dockerfile wireshark dpkg non-interactive

你如何在Dockerfile中做dpkg-reconfigure wireshark-common

我的Docker文件包含: RUN apt-get install wireshark --yes

但是--yes不影响dpkg-reconfigure wireshark-common步骤,因此对我来说,如何对屏幕上的问题Should non-superusers be able to capture packets?回答“是”或“否”是不明显的。

2 个答案:

答案 0 :(得分:3)

尝试使用yes命令。

RUN yes | dpkg-reconfigure wireshark-common

你可以做的另一个尝试是:

RUN echo "y" | dpkg-reconfigure wireshark-common

现在不确定wireshark在dpkg-reconfigure上要求的是什么......但是使用这种技术你可以发送一个“y”或“1”或者你需要的任何东西。

另一种可能的解决方案基于您的评论:

RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y wireshark

使用最后一个,您将跳过任何交互式安装后配置步骤。

答案 1 :(得分:0)

有了第一个答案,我无法以非root用户身份运行tshark。 这是我的解决方案,通过“ dpkg-reconfigure wirehark-common”接受“是”答案,因此您可以以普通用户身份运行tshark:

RUN DEBIAN_FRONTEND=noninteractive apt-get install -y tshark
RUN yes yes | DEBIAN_FRONTEND=teletype dpkg-reconfigure wireshark-common
RUN usermod -a -G wireshark yourUserName

用允许运行tshark的用户替换“ yourUserName”。