网络类型原理

网络类型原理

1.bridge网络

默认连接到docker0这个网桥上,所以先查看docker0

1649328365126.png

1649328462029.png

可以看到没有接口

接下来启动一个容器

[root@localhost ~]# docker run -itd --name xiang1 nginx:latest

进入容器

[root@localhost ~]# docker exec -it xiang1 /bin/bash
安装update iproute
root@78f6b825fe8e:/# apt-get install net-tools iproute2 -y
root@78f6b825fe8e:/# apt-get update

xiang1容器已有一个地址172.17.0.2,和主机的docker接口地址在同一网络中

1649328781689.png

在物理主机上,查看网桥docker0,可以看到已经多了一个接口

1649328904428.png

可以使用docker network inspect bridge命令来查看bridge网络情况

1649329096064.png

2.none网络模式

先启动一个容器,设为none网络

[root@localhost ~]# docker run -itd --network none --name xinag2 centos:centos7

进入容器,查看网络情况:

[root@localhost ~]# docker exec -it xinag2 /bin/bash
[root@localhost ~]# docker inspect xiang2

1649332251624.png

2.host网络模式

查看物理主机的httpd进程

[root@localhost ~]# pgrep httpd

1649332493034.png

启动一个容器

[root@localhost ~]# docker run -itd --privileged --name xiang3 --network host centos:centos7 init

1649332547752.png

进入容器,安装httpd服务,并启动

[root@localhost ~]# docker exec -it xiang3 /bin/bash
[root@localhost /]# yum install httpd -y

退出容器,再次查看httpd进程

[root@localhost /]# exit
exit
[root@localhost ~]# pgrep httpd
5496
5497
5498
5499
5500
5501

主机访问容器xiang3

1649333075205.png

注意防火墙

[root@localhost ~]# firewall-cmd --add-port=80/tcp
success

container模式

先运行一个容器:查看容器ip

[root@localhost ~]# docker run -itd --name xiang4 centos:centos7
689971eec4ba18f991661842da129da3b181a42839af2345cb5be3d40a33f4a4
[root@localhost ~]# docker exec -it xiang4 /bin/bash
[root@689971eec4ba /]# yum install -y iproute
[root@689971eec4ba /]# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default 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
8: eth0@if9: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
    link/ether 02:42:ac:11:00:03 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 172.17.0.3/16 brd 172.17.255.255 scope global eth0
       valid_lft forever preferred_lft forever

启动另一个容器,使用xiang4的网络

[root@localhost ~]# docker run -itd --name xiang5 --network container:xiang4 centos:centos7
49f845800b3a4bfd1450bffa7caebae0df92ff8f2097c7c4de216a97a0e35393

进入容器test04,查看网络情况,可以看到两个容器地址信息相同,是共享的

[root@localhost ~]# docker exec -it xiang5 /bin/bash
[root@689971eec4ba /]# yum install -y iproute
[root@689971eec4ba /]# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default 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
8: eth0@if9: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
    link/ether 02:42:ac:11:00:03 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 172.17.0.3/16 brd 172.17.255.255 scope global eth0
       valid_lft forever preferred_lft forever

ff:ff:ff:ff:ff:ff link-netnsid 0
inet 172.17.0.3/16 brd 172.17.255.255 scope global eth0
valid_lft forever preferred_lft forever


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值