我看到的所有容器网络示例似乎都为容器提供了一个 L3 网络,这意味着它与主机位于不同的 L2 网络上。桥接接口似乎也仅适用于容器之间的 L2 网络。
是否可以启动 Docker 容器,使其具有完整的第 2 层访问权限。例如,在容器内运行 tcpdump 来捕获特定主机接口的数据包?
答案1
当然可以。使用以下命令启动容器--network host
并且它不会拥有自己的网络命名空间。这会带来巨大的安全隐患。
我看到的所有容器网络示例似乎都为容器提供了一个 L3 网络,这意味着它与主机位于不同的 L2 网络上。桥接接口似乎也仅适用于容器之间的 L2 网络。
是否可以启动 Docker 容器,使其具有完整的第 2 层访问权限。例如,在容器内运行 tcpdump 来捕获特定主机接口的数据包?
当然可以。使用以下命令启动容器--network host
并且它不会拥有自己的网络命名空间。这会带来巨大的安全隐患。