按照人 podman 运行容器的网络可以在主机模式下配置:
--network=mode, --net
...
host: Do not create a network namespace, the container will use the host’s network. Note: The host mode gives the container full access to local system services such as D-bus and is therefore considered insecure.
当我们不希望容器拥有自己的网络命名空间,而是共享主机网络命名空间时,用例可能是什么?
答案1
考虑一个容器化的管理应用程序,您作为系统管理员想要从管理主机运行它。比如说,ansible-runner
基于环境,它已经是一个容器,用于获取适当版本的 python 和各种库。它需要通过 ssh 连接到各种主机。
您不太关心安全性,因为您亲自运行此应用程序和主机。更简单的是它直接通过主机的网络堆栈。
这甚至不是很聪明。总是有一些有趣的用例是我从未想到的,特别是在像 IP 网络这样广泛的领域。
如果计算堆栈可以支持简单的变体,例如“不必为这个容器设置网络命名空间”,那么这是一个不错的选择。希望测试套件能够涵盖这些变体。我对许多选项的主要担忧是,当情况发生变化时,它们是否仍然有效。