docker-compose 与 Dockerfile

本文深入探讨Docker的网络模式,特别是主机网络模式,介绍如何使用Docker Compose设置网络,以及在Docker 17.06及以上版本中使用--network host的限制。内容涵盖Docker的四种网络模式,包括host模式的工作原理和应用场景,并提供了启动nginx容器直接绑定到Docker主机80端口的示例。
摘要由CSDN通过智能技术生成

Docker 网络模式
Docker系列教程24-Docker Compose网络设置 https://www.jianshu.com/p/2b0a5f3c6e73

使用主机网络

如果host对容器使用网络驱动程序,则该容器的网络堆栈不会与Docker主机隔离。例如,如果您运行绑定到端口80 host的容器并使用网络,则容器的应用程序将在主机IP地址的端口80上可用。

主机网络驱动程序仅适用于Linux主机,并且不支持Docker for Mac,Docker for Windows或Docker EE for Windows Server。

在Docker 17.06及更高版本中,您还可以host通过传递–network host给docker container create命令将网络用于群组服务。在这种情况下,控制流量(与管理群集和服务相关的流量)仍然通过覆盖网络发送,

但各个群集服务容器使用Docker守护程序的主机网络和端口发送数据。这会产生一些额外的限制。例如,如果服务容器绑定到端口80,则只有一个服务容器可以在给定的swarm节点上运行。

如果您的容器或服务未发布端口,则主机网络无效。
使用主机网络进行联网

本系列教程介绍了直接绑定到Docker主机网络的网络独立容器,没有网络隔离。有关其他网络主题,请参阅概述。
目标

本教程的目标是启动一个nginx的容器直接绑定到Docker主机上的80端口 。从网络的角度来看,这是相同的隔离级别,就好像nginx进程直接在Docker主机上而不是在容器中运行一样。但是,在所有其他方式(例如存储,进程命名空间和用户命名空间)中,nginx进程与主机隔离。
先决条件

此过程要求端口80在Docker主机上可用。要使Nginx侦听其他端口,请参阅该图像的 文档nginx

在host网络驱动程序仅适用于Linux主机和Windows,或Windows Server泊坞EE不支持多克的Mac,码头工人。

Docker:网络模式详解 https://www.cnblogs.com/zuxing/articles/8780661.html
Docker作为目前最火的轻量级容器技术,牛逼的功能,如Docker的镜像管理,不足的地方网络方面。

Docker自身的4种网络工作方式,和一些自定义网络模式

安装Docker时,它会自动创建三个网络,bridge(创建容器默认连接到此网络)、 none 、host

host:容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用宿主机的IP和端口。

Container:创建的容器不会创建自己的网卡,配置自己的IP,而是和一个指定的容器共享IP、端口范围。

None:该模式关闭了容器的网络功能。

Bridge:此模式会为每一个容器分配、设置IP等,并将容器连接到一个docker0虚拟网桥,通过docker0网桥以及Iptables nat表配置与宿主机通信。

以上都是不用动手的,真正需要配置的是自定义网络。

4中常用网络模式:
1,host 模式,使用docker run时使用–net=host指定docker

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值