docker-compose
部署nginx
host 模式
1 | version: "2" |
https://docs.docker.com/network/drivers/host/
host
如果对容器使用网络模式,则该容器的网络堆栈不会与 Docker 主机隔离(容器共享主机的网络命名空间),并且容器不会分配自己的 IP 地址。例如,如果您运行绑定到端口 80 的容器并且使用host
网络,则该容器的应用程序可在主机 IP 地址的端口 80 上使用。
笔记
鉴于使用模式网络时容器没有自己的 IP 地址
host
, 端口映射不会生效,并且-p
、--publish
、-P
和--publish-all
选项将被忽略,而是产生警告:
1 WARNING: Published ports are discarded when using host network mode
主机模式网络对于优化性能非常有用,并且在容器需要处理大量端口的情况下,因为它不需要网络地址转换(NAT),并且不会为每个端口创建“用户层代理”。
主机网络驱动程序仅适用于 Linux 主机,Docker Desktop for Mac、Docker Desktop for Windows 或 Docker EE for Windows Server 不支持。
您还可以通过传递 给命令来将host
网络用于 swarm 服务。在这种情况下,控制流量(与管理 swarm 和服务相关的流量)仍然通过覆盖网络发送,但各个 swarm 服务容器使用 Docker 守护程序的主机网络和端口发送数据。这会产生一些额外的限制。例如,如果服务容器绑定到端口 80,则在给定的 swarm 节点上只能运行一个服务容器。--network host``docker service create
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 树灼的博客!