docker容器网络模式配置场景

在docker各种实际应用场景中,docker容器以最小单元支撑着各种应用,应用以微服务形态与外界或容器之间进行通信,但在容器构建初,我们应该以怎样的网络模式来搭建微服务呢? 下面逐步阐述docker提供的4种网络模式以便在实际应用中配置:
  
  可以用--net选项指定容器的网络模式,格式:docker run -d -P --net=host ....
  
  host模式:
  一个Docker容器一般会分配一个独立的Network Namespace。但如果启动容器的时候使用host模式,那么这个容器将不会获得一个独立的Network Namespace,而是和宿主机共用一个Network Namespace。容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用宿主机的IP和端口。

  container模式:
  这个模式指定新创建的容器和已经存在的一个容器共享一个Network Namespace,而不是和宿主机共享。新创建的容器不会创建自己的网卡,配置自己的IP,而是和一个指定的容器共享IP、端口范围等。同样,两个容器除了网络方面,其他的如文件系统、进程列表等还是隔离的。两个容器的进程可以通过lo网卡设备通信。

  none模式:
  这个模式和前两个不同。在这种模式下,Docker容器拥有自己的Network Namespace,但是,并不为Docker容器进行任何网络配置。也就是说,这个Docker容器没有网卡、IP、路由等信息。需要我们自己为Docker容器添加网卡、配置IP等。

  bridge模式:
  Docker默认的网络设置,此模式会为每一个容器分配Network Namespace、设置IP等,并将一个主机上的Docker容器连接到一个虚拟网桥上。
阅读更多

没有更多推荐了,返回首页