Docker网络类型

docker网络类型说明                                    
类型说明
None

不为容器配置任何网络功能,没有网络  。 声明:--network    none

Host与主机共享网络空间。  --network  host
Container与指定的运行中的容器共享网络空间.   --network  container:container ID
Bridge

Docker设计的NAT网络模型(默认类型),为每一个容器分配、设置 IP 等,并将容器连接到一个

docker0 的虚拟网桥(交换机)

目录


 

1、none(不为容器配置网络功能)

        此模式下创建容器是不会为容器配置任何网络参数的,如:容器网卡、IP、通信路由等,全部需要自己去配置。

[root@docker ~]# docker run  -it --network none  busybox:latest   /bin/sh 
/ # ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever


-i  以交互式的方式运行 
-t  为容器分配终端
--network   指定网络类型

2、host(使用宿主机网络 )

        此模式创建的容器没有自己独立的网络命名空间,是和物理机共享一个Network Namespace,并且共享物理机的所有端口与IP,这个模式认为是不安全的。

[root@docker ~]# docker  run   -it  --network host  busybox:latest  /bin/sh

3、Container(与其他容器共享网络配置)

        此模式容器自身是不会配置网络和端口,创建此模式容器进去后,容器里边的IP是指定容器的IP并且端口也是共享的,而且其它还是互相隔离的,如进程等。

[root@docker ~]# docker  inspect  blissful_blackwell    #查看容器详细信息
[root@docker ~]# docker run  -it --network container:mywordpress_db_1   busybox:latest  /bin/sh 
/ # ip a   #进入了容器,查看容器ip
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
105: eth0@if106: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc noqueue 
    link/ether 02:42:ac:12:00:03 brd ff:ff:ff:ff:ff:ff
    inet 172.15.0.3/16 brd 172.18.255.255 scope global eth0
       valid_lft forever preferred_lft forever

   4、Bridge(Docker设计的NAT网络模型(默认类型),为每一个容器分配、设置 IP)

        1、配置桥接网卡        

[root@docker ~]# yum  -y  install  bridge-utils.x86_64    #先安装桥接工具

        2、开启内核网络转发 

[root@docker ~]# sysctl net.ipv4.conf.all.forwarding=1
[root@docker ~]# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
[root@docker01 ~]# sysctl -p   #使配置生效

        3、修改网卡的配置,实现桥接网络模式

# 备份网卡配置文件,修改eth0配置,让br0实现桥接
[root@docker ~]# cat  /etc/sysconfig/network-scripts/ifcfg-eth0 
TYPE=Ethernet
BOOTPROTO=static
NAME=eth0
DEVICE=eth0
ONBOOT=yes
BRIDGE=br0
[root@docker01 ~]# cat /etc/sysconfig/network-scripts/ifcfg-br0    #没有该文件,需创建
TYPE=Bridge     #类型
BOOTPROTO=static
NAME=br0
DEVICE=br0
ONBOOT=yes
IPADDR=192.168.152.187        #IP地址
NETMASK=255.255.255.0         #子网掩码
GATEWAY=192.168.152.2.254     #网关 
DNS1=223.5.5.5                #域名服务器

# 重启网络
[root@docker ~]#  systemctl restart network

ifcfg-br0 相当于linux系统创建了一个linux网桥br0 ,创建容器后,使用pipework 工具将容器网络接口加入到br0网桥!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值