Ansible`docker_container`选项`network_mode`和`networks-它们相交吗?

Wla*_*ala 2 ansible docker docker-compose ansible-2.x

我正在构建一个剧本,希望将容器部署到主机网络。该Ansible文档提到两个选择:network_modenetworks。如果要将容器连接到默认主机网络,则可以选择(语法类似于Ansible剧本):

network_mode: host
Run Code Online (Sandbox Code Playgroud)

相当于:

networks:
  name: host
Run Code Online (Sandbox Code Playgroud)

如果不是,那么在两种情况下容器都将连接到什么网络(如果完全连接?)

lar*_*sks 6

这更多是一个Docker问题,而不是Ansible问题。通过阅读(例如)文档的“ 网络设置”部分,可以找到答案以外的其他详细信息docker run

networks密钥允许您将容器连接到命名网络

network_mode键可以选择类型的网络,为您的容器(hostbridgenone,或特定容器的网络环境)。它不允许您直接连接到命名网络。

因此,如果您有一个host使用host网络模式的可用网络,则:

network_mode: host
Run Code Online (Sandbox Code Playgroud)

等效于:

networks:
  - name: host
Run Code Online (Sandbox Code Playgroud)

但总的来说,它们使您可以做不同的事情。