docker网络模式

1、默认网络

#安装docekr以后,会默认创建三种网络,可以通过 docker network ls 查看,
docker network ls
NETWORK ID     NAME      DRIVER    SCOPE
5040bd77d0b1   bridge    bridge    local
42b4fb7b9ee4   host      host      local
31219b2fcd01   none      null      local
#docker 网络模式介绍
bridge #为每一个容器分配,设置ip,并将容器连接到一个docker0 虚拟网桥,默认为此模式
host #容器将不会虚拟主机的网卡和ip,而是使用宿主机的IP和端口
none #容器有独立的Netwoek namespace ,需要自己分配 veth pair和网桥连接,IP
#上面三个是默认设置类型
container #不会创建自己的网卡和IP 而是和指定的一个容器共享IP,端口范围。

1、检查网络映射关系

# busybox 小工具
docker run -it --name bbox01 busybox
#宿主机与容器的关系为对等的 
/ # ip a
62: eth0@if63:
[root@#localhost ~]# ip a
63: veth817661e@if62:

2、host模式

#可以直接使用宿主的ip地址和端口
#但是容器的网络缺少隔离星
# --network 指定网络模式为host模式 或者 --net 指定网络模式
docker run -it --name nnox02 --network host busybox 
/ # 

3、none网络模式

#none网络模式是直接禁用网络模式,使用lo解开local的间歇,代表127.0.0.1,本地环回借口
docker run -it --name bbox03 --net none busybox 
/ # ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo

4、container网络模式

#container网络模式是docekr中的一中特殊网络模式,
#在创建容器是通过参数 --net container:一运行的容器名称|ID 或者--network container:一运行的容器名称|ID
#出于这个模式的docker容器会共享一个网络站,这样两个容器之间可以使用localhost高效快速通信
#contaniner模式不会创建自己的网卡和ip,两个容器除了网络之外,其他的文件系统,进程列表等还是隔离的
#指定网络模式为共享bbox01的网络模式
docker run -it --name  bbox04 --net container:bbox01 busybox
/ # ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue qlen 1000
    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
62: eth0@if63: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc noqueue 
    link/ether 02:42:ac:11:00:04 brd ff:ff:ff:ff:ff:ff
#对比
docker exec -it bbox01 sh
/ # ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue qlen 1000
    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
62: eth0@if63: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc noqueue 
    link/ether 02:42:ac:11:00:04 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.4/16 brd 172.17.255.255 scope global eth0

2、自定网络

1、创建自定义bridge网络

#创建自定义bridge网络
docker network create custom_network
e80f79d54fe2744071e4e94bb9b3f98a550d6a0e5c46f7977f8fb335e480eecb
#创建自定义的网断和网关的 网桥
docker network create --subnet 172.21.0.0/24 --gateway 172.21.0.1 custom_network02
ddc97b6e75d40c5ea4f667ea8adaf311e0d15535035d9328b0d6048008f1e7bd
#查看信息是否正确
docker network inspect custom_network02
                    "Subnet": "172.21.0.0/24",
                    "Gateway": "172.21.0.1"


#检查网络是否创建成功
docker network ls
NETWORK ID     NAME             DRIVER    SCOPE
5040bd77d0b1   bridge           bridge    local
e80f79d54fe2   custom_network   bridge    local
42b4fb7b9ee4   host             host      local
31219b2fcd01   none             null      local

2、使用自定义网络添加容器

 docker run -it --name bbox05 --net custom_network  busybox
 docker run -it --name bbox06 --net custom_network  busybox
 docker exec -it bbox05 sh
 ping bbox06 #直接ping另一个容器的名字
 / # ping 172.18.0.3   #ping 另一个容器的ip
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值