docker容器网络

容器内的应用可以通过配置容器网络,从而和外部网络互通。
容器网络分类
docker容器的网络有三种:
1. host
2. bridge
3. none
有容器运行的时候,我们可以通过如下命令来查看容器可以使用的网络:

docker network ls

这里写图片描述
**
默认情况下可以查看到红圈中圈出来的网络,图中maintain的网络是我创建的网桥。
创建新的网桥使用如下命令:

docker network create NetworkName

这里写图片描述

host网络优缺点:
连接到 host 网络的容器共享 Docker host 的网络栈,容器的网络配置与 host 完全一样。容器可以通过配置使用主机已有的网络来进行通信,我把使用host网络的优缺点总结了一下:
优点:

  1. 相对于使用虚拟网桥的网络来说,具有更高的性能。
  2. 可以方便的通过配置主机的host网络来控制网络访问。

缺点:

  1. 不灵活,使用host网路的时候,主机已经使用的端口容器网络不能再使用。
    host网络的使用方法:

host网络的使用办法:
在运行一个容器的时候指定–network的参数为host就可以让启动的容器使用host网络。如下:
这里写图片描述

查看host网络的信息:
这里写图片描述
当使用host网路的时候,容器不会有自己的IP地址。

bridge网络:
Docker 安装时会创建一个命名为 docker0 的 linux bridge。如果不指定–network,创建的容器默认都会挂到 docker0 的网络上。当我们使用默认的网络配置来创建容器的时候,会在docker0上挂一个虚拟的网络接口。新创建的容器会被自动分配一个特定网段的IP地址。
为了使用更加灵活,用户可以创建自己的bridge网络来提供给容器使用。
创建bridge网桥的方法如下:

docker network create NetworkName

这里写图片描述
另外可以通过指定网段来创建一个有特定网段的bridge
如下,创建了一个网段为192.168.50.0/24 网关为192.168.50.254 名字为201825AA的网桥设备。

这里写图片描述

使用方式:
在创建容器的时候指定容器的–network选项即可使用让容器使用该网络。创建方式如下:

这里写图片描述

此时使用docker inspect 查看容器的信息,发现容器的网络已经自动获取到了2018AA这个网络设备刚才规定的网段中的一个地址:
这里写图片描述

none网络:
none网络就是指该容器不使用任何网络,一半会在运行完全不需要网络的应用的时候会用到这样的网络配置。例如需要用容器运行专门在本地计算文件hash值的应用,用来产生随机密码的应用。
这样的容器在创建的时候需要指定使用none的网络。创建方式和前面两种网络的指定方式一样,都是指定–network的参数。


**

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值