我试图将一个软件放入 docker 中,它试图chown /sys/class/net/eth0
这是我无法控制的专有代码,我需要让它在 docker 内工作。
运行它时,我看到如下错误日志:
{"error":"MySQL: Connection refused"}chown: changing ownership of ‘/sys/class/net/eth0’: Read-only file system
我想解决这个问题而不给泊坞窗提供写访问权限。我想保留 docker 提供的隔离
答案1
要运行标准网络监控软件,您必须在命令--network host
中使用该选项docker run
。这将允许它看到所有相同的网络设备。
如果您需要实际捕获数据包,那么您还需要向 docker 容器授予额外的“功能”。否则您将收到权限被拒绝的错误。
答案2
不需要在 Dockerfile 中允许权限只需添加 docker run 命令--卷 /sys:/sys:ro当你运行图像时