第四章 Docker的网络通信(通信模式1)

4.3 Docker的4种网络通信模式

由于Docker 容器彼此之间是逻辑隔离的,所以,在安装 Docker 时会在容器中创建隔 离的网络环境。在该隔离的网络模式环境中,运行在宿主机上的各个容器具有完全独立的网 络栈,并自Docker 容器的网络环境与宿主机相互隔离。通过使用 Docker 的不同网络模 式,可以使 Docke容器共享宿主机的网络命名空间,也可以实现Docker容器间的相互访 问。

     Docker一共提供了4种网络通信模式:bridge、container、host和none。表对比了 这4种模式的特点。

网络通信模式是否支持多主机纵向通信机制横向通信机制
bridge绑定宿主机端口通过 Linux桥接进行通信
container绑定宿主机端口通过Linux连接进行通信
host通过宿主机网络进行通信通过宿主机网络进行通信
none无法通信只能通过Linux 连接进行通信

4.3.1 bridge模式

      bridge模式是Docker默认的网络通信模式,是开发者最常用的模式。 在bridge模式下,Docker引擎会创建独立的网络命名空间。这样就可以保证运行在每 一个命名空间中的容器具有独立的网卡等网络资源。

     利用bridge 模式,可以非常方便地实现容器与容器之间、容器与宿主机之间的网络隔离。通过使用宿主机上的 docker0 网桥,可以实现 Docker 容器与宿主机(乃至外部网络)的 网络通信。下面通过示例演示如何使用bridge模式。

    1. 使用bridge模式创建容器

(1)使用busybox的镜像创建容器。

[root@centos7 ~]# docker run -it --network=bridge busybox /bin/sh

(2)在容器内执行“ifconfig”命令查看容器的网络信息,如图所示

2. 实例:用户自定义bridge网络

     在默认情况下,Docker 引擎会自动创建一个bridge 网络。Docker 引擎也为用户提供 了自定义bridge网络的方式。利用该方式,用户可以自定义 bridge 网络的子网地址和网关等参数。

(1)执行以下命令自定义bridge网络

[root@centos7 ~]# docker network create -d bridge --ip-range=192.168.1.0/24 \
> --gateway=192.168.1.1 --subnet=192.168.1.0/24 bridge2

其中的参数说明如下

 -d:指定网络通信模式,默认是bridge。 -ip-range;指定子网IP地址的范围 -gateway:指定网关的IP地址。 --subnet:指定子网的IP地址。 bridge2:指定bridge网络的名称

(2)查看Docker的网络,可以看到新创建的bridge2,如图所示

[root@centos7 ~]# docker network ls

(3)使用 bridge2创建一个容器,这里通过参数--p 指定了容器的IP地址。

[root@centos7 ~]# docker run -it --network=bridge2 --ip=192.168.1.3 busybox

(4)在容器内执行“ifconfig”命令查看网络信息,如图所示。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值