Docker网络模型使用详解(2)Docker网络模式

安装Docker时会自动创建3个网络,可以使用docker network ls命令列出这些网络。

[root@localhost ~]# docker network ls

NETWORK ID     NAME                DRIVER    SCOPE

ebcfad6f4255   bridge              bridge    local

b881c67f8813   compose_lnmp_lnmp   bridge    local

fcf5201effd8   demo_net            bridge    local

8104a1b1ed6c   host                host      local

7a7562f2d82d   none                null      local

  • bridge是Docker的默认网络驱动程序,用于连接容器和主机上的网络。它是本地范围的网络,仅在主机上可见。
  • compose_lnmp_lnmp是一个命名的网络,是由Docker Compose创建的,它允许在同一Compose项目中的容器之间进行通信。
  • demo_net是另一个命名的网络,自己创建的网络。
  • host是另一种网络模式,容器与主机共享网络命名空间,因此容器可以直接与主机上的服务进行通信。
  • none表示容器没有与任何网络连接。

我们在使用docker run创建容器时,可以用--net选项指定容器的网络模式,Docker有以下4种网络模式:

  1. Host模式,使用--net=host指定。
  2. Container模式,使用--net=container:NAME_or_ID指定。
  3. None模式,使用--net=none指定。
  4. Bridge模式,使用--net=bridge指定,默认设置。

Host模式

仅主机

Docker底层使用了Linux的Namespaces技术来进行资源隔离,如PID Namespace隔离进程,Mount Namespace隔离文件系统,Network Namespace隔离网络等。一个Network Namespace提供了一份独立的网络环境,包括网卡、路由、Iptables规则等都与其他的Network Namespace隔离。一个Docker容器一般会分配一个独立的Network Namespace。但如果启动容器的时候使用host模式,那么这个容器将不会获得一个独立的Network Namespace,而是和宿主机共用一个Root Network Namespace。容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用宿主机的IP和端口。出于安全考虑不推荐使用这种网络模式。

我们在192.168.50.59/24的机器上用Host模式启动一个含有WEB应用的Docker容器,监听TCP 80端口。当我们在容器中执行任何类似ifconfig命令查看网络环境时,看到的都是宿主机上的信息。而外界访问容器中的应用,则直接使用192.168.200.111:80即可,不用任何NAT转换,就如直接跑在宿主机中一样。但是,容器的其他方面,如文件系统、进程列表等还是和宿主机隔离的。

 用host启动 busybox并查看

[root@localhost ~]# docker run -itd --net=host --name=host busyboxdf0de56d85f71c01eb015946a1761373d6bb565f73fd3f43a239135c1998fa84[root@localhost ~]# docker exec -it host ifconfigbr-b881c67f8813 Link encap:Ethernet  HWaddr 02:42:00:73:93:F4  inet addr:172.18.0.1  Bcast:172.18.255.255  Mask:255.255.0.0UP BROADCAST MULTICAST  MTU:1500  Metric:1RX packets:0 errors:0 dropped:0 overruns:0 frame:0TX packets:0 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)br-fcf5201effd8 Link encap:Ethernet  HWaddr 02:42:57:20:7F:6B  inet addr:172.25.0.1  Bcast:172.25.255.255  Mask:255.255.0.0inet6 addr: fe80::42:57ff:fe20:7f6b/64 Scope:LinkUP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1RX packets:19 errors:0 dropped:0 overruns:0 frame:0TX packets:6 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0RX bytes:1484 (1.4 KiB)  TX bytes:488 (488.0 B)docker0   Link encap:Ethernet  HWaddr 02:42:96:A8:40:FE  inet addr:172.17.0.1  Bcast:172.17.255.255  Mask:255.255.0.0inet6 addr: fe80::42:96ff:fea8:40fe/64 Scope:LinkUP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1RX packets:104 errors:0 dropped:0 overruns:0 frame:0TX packets:124 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0RX bytes:12669 (12.3 KiB)  TX bytes:17954 (17.5 KiB)ens33     Link encap:Ethernet  HWaddr 00:0C:29:E8:B0:6A  inet addr:192.168.50.59  Bcast:192.168.50.255  Mask:255.255.255.0inet6 addr: fe80::dbbb:645e:9534:365f/64 Scope:LinkUP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1RX packets:6723 errors:0 dropped:0 overruns:0 frame:0TX packets:4795 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:533557 (521.0 KiB)  TX bytes:722896 (705.9 KiB)ens36     Link encap:Ethernet  HWaddr 00:0C:29:E8:B0:74  inet addr:192.168.1.110  Bcast:192.168.1.255  Mask:255.255.255.0inet6 addr: fe80::4e02:634e:67ca:d86e/64 Scope:LinkUP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1RX packets:146425 errors:0 dropped:0 overruns:0 frame:0TX packets:37335 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:173609362 (165.5 MiB)  TX bytes:2671847 (2.5 MiB)lo        Link encap:Local Loopback  inet addr:127.0.0.1  Mask:255.0.0.0inet6 addr: ::1/128 Scope:HostUP LOOPBACK RUNNING  MTU:65536  Metric:1RX packets:0 errors:0 dropped:0 overruns:0 frame:0TX packets:0 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)veth1cd495b Link encap:Ethernet  HWaddr 9A:18:5B:97:FC:AF  inet6 addr: fe80::9818:5bff:fe97:fcaf/64 Scope:LinkUP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1RX packets:17 errors:0 dropped:0 overruns:0 frame:0TX packets:32 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0RX bytes:2115 (2.0 KiB)  TX bytes:2924 (2.8 KiB)veth1fe7fee Link encap:Ethernet  HWaddr 1A:7A:43:B5:E2:A8  inet6 addr: fe80::187a:43ff:feb5:e2a8/64 Scope:LinkUP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1RX packets:23 errors:0 dropped:0 overruns:0 frame:0TX packets:14 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0RX bytes:2086 (2.0 KiB)  TX bytes:1076 (1.0 KiB)veth21224d2 Link encap:Ethernet  HWaddr C6:5D:7E:9C:F3:E1  inet6 addr: fe80::c45d:7eff:fe9c:f3e1/64 Scope:LinkUP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1RX packets:6 errors:0 dropped:0 overruns:0 frame:0TX packets:15 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0RX bytes:476 (476.0 B)  TX bytes:1174 (1.1 KiB)veth2af5e71 Link encap:Ethernet  HWaddr F2:B0:7F:98:3A:7E  inet6 addr: fe80::f0b0:7fff:fe98:3a7e/64 Scope:LinkUP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1RX packets:18 errors:0 dropped:0 overruns:0 frame:0TX packets:30 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0RX bytes:2157 (2.1 KiB)  TX bytes:2521 (2.4 KiB)veth3839b96 Link encap:Ethernet  HWaddr 76:01:DE:59:71:9A  inet6 addr: fe80::7401:deff:fe59:719a/64 Scope:LinkUP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1RX packets:6 errors:0 dropped:0 overruns:0 frame:0TX packets:15 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0RX bytes:476 (476.0 B)  TX bytes:1174 (1.1 KiB)veth5b04bf4 Link encap:Ethernet  HWaddr 8A:53:86:BC:37:1C  inet6 addr: fe80::8853:86ff:febc:371c/64 Scope:LinkUP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1RX packets:5 errors:0 dropped:0 overruns:0 frame:0TX packets:13 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0RX bytes:378 (378.0 B)  TX bytes:1034 (1.0 KiB)veth6d1b68f Link encap:Ethernet  HWaddr 1A:12:AA:12:AD:E2  inet6 addr: fe80::1812:aaff:fe12:ade2/64 Scope:LinkUP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1RX packets:17 errors:0 dropped:0 overruns:0 frame:0TX packets:27 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0RX bytes:1795 (1.7 KiB)  TX bytes:2008 (1.9 KiB)veth7fdc9d7 Link encap:Ethernet  HWaddr 3E:7A:4E:8B:56:13  inet6 addr: fe80::3c7a:4eff:fe8b:5613/64 Scope:LinkUP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1RX packets:5 errors:0 dropped:0 overruns:0 frame:0TX packets:19 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0RX bytes:378 (378.0 B)  TX bytes:1522 (1.4 KiB)veth9e68eab Link encap:Ethernet  HWaddr 16:03:A6:A6:78:F5  inet6 addr: fe80::1403:a6ff:fea6:78f5/64 Scope:LinkUP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1RX packets:23 errors:0 dropped:0 overruns:0 frame:0TX packets:42 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0RX bytes:3519 (3.4 KiB)  TX bytes:6034 (5.8 KiB)vethb62206b Link encap:Ethernet  HWaddr 2E:6D:F9:34:AB:CA  inet6 addr: fe80::2c6d:f9ff:fe34:abca/64 Scope:LinkUP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1RX packets:27 errors:0 dropped:0 overruns:0 frame:0TX packets:51 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0RX bytes:4455 (4.3 KiB)  TX bytes:8407 (8.2 KiB)vethd26c9e7 Link encap:Ethernet  HWaddr 46:D3:F8:F7:D5:CF  inet6 addr: fe80::44d3:f8ff:fef7:d5cf/64 Scope:LinkUP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1RX packets:5 errors:0 dropped:0 overruns:0 frame:0TX packets:13 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0RX bytes:378 (378.0 B)  TX bytes:1034 (1.0 KiB)

宿主机查看

[root@localhost ~]# ifconfigbr-b881c67f8813: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500inet 172.18.0.1  netmask 255.255.0.0  broadcast 172.18.255.255ether 02:42:00:73:93:f4  txqueuelen 0  (Ethernet)RX packets 146479  bytes 173614294 (165.5 MiB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 37337  bytes 2672249 (2.5 MiB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0br-fcf5201effd8: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 172.25.0.1  netmask 255.255.0.0  broadcast 172.25.255.255inet6 fe80::42:57ff:fe20:7f6b  prefixlen 64  scopeid 0x20<link>ether 02:42:57:20:7f:6b  txqueuelen 0  (Ethernet)RX packets 27  bytes 4455 (4.3 KiB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 51  bytes 8407 (8.2 KiB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0docker0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255inet6 fe80::42:96ff:fea8:40fe  prefixlen 64  scopeid 0x20<link>ether 02:42:96:a8:40:fe  txqueuelen 0  (Ethernet)RX packets 104  bytes 12669 (12.3 KiB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 124  bytes 17954 (17.5 KiB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 192.168.50.59  netmask 255.255.255.0  broadcast 192.168.50.255inet6 fe80::dbbb:645e:9534:365f  prefixlen 64  scopeid 0x20<link>ether 00:0c:29:e8:b0:6a  txqueuelen 1000  (Ethernet)RX packets 6752  bytes 535747 (523.1 KiB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 4822  bytes 735148 (717.9 KiB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0ens36: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 192.168.1.110  netmask 255.255.255.0  broadcast 192.168.1.255inet6 fe80::4e02:634e:67ca:d86e  prefixlen 64  scopeid 0x20<link>ether 00:0c:29:e8:b0:74  txqueuelen 1000  (Ethernet)RX packets 146479  bytes 173614294 (165.5 MiB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 37337  bytes 2672249 (2.5 MiB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536inet 127.0.0.1  netmask 255.0.0.0inet6 ::1  prefixlen 128  scopeid 0x10<host>loop  txqueuelen 1000  (Local Loopback)RX packets 0  bytes 0 (0.0 B)RX errors 0  dropped 0  overruns 0  frame 0TX packets 0  bytes 0 (0.0 B)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0veth1cd495b: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet6 fe80::9818:5bff:fe97:fcaf  prefixlen 64  scopeid 0x20<link>ether 9a:18:5b:97:fc:af  txqueuelen 0  (Ethernet)RX packets 17  bytes 2115 (2.0 KiB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 32  bytes 2924 (2.8 KiB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0veth1fe7fee: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet6 fe80::187a:43ff:feb5:e2a8  prefixlen 64  scopeid 0x20<link>ether 1a:7a:43:b5:e2:a8  txqueuelen 0  (Ethernet)RX packets 23  bytes 2086 (2.0 KiB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 14  bytes 1076 (1.0 KiB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0veth21224d2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet6 fe80::c45d:7eff:fe9c:f3e1  prefixlen 64  scopeid 0x20<link>ether c6:5d:7e:9c:f3:e1  txqueuelen 0  (Ethernet)RX packets 6  bytes 476 (476.0 B)RX errors 0  dropped 0  overruns 0  frame 0TX packets 15  bytes 1174 (1.1 KiB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0veth2af5e71: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet6 fe80::f0b0:7fff:fe98:3a7e  prefixlen 64  scopeid 0x20<link>ether f2:b0:7f:98:3a:7e  txqueuelen 0  (Ethernet)RX packets 18  bytes 2157 (2.1 KiB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 30  bytes 2521 (2.4 KiB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0veth3839b96: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet6 fe80::7401:deff:fe59:719a  prefixlen 64  scopeid 0x20<link>ether 76:01:de:59:71:9a  txqueuelen 0  (Ethernet)RX packets 6  bytes 476 (476.0 B)RX errors 0  dropped 0  overruns 0  frame 0TX packets 15  bytes 1174 (1.1 KiB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0veth5b04bf4: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet6 fe80::8853:86ff:febc:371c  prefixlen 64  scopeid 0x20<link>ether 8a:53:86:bc:37:1c  txqueuelen 0  (Ethernet)RX packets 5  bytes 378 (378.0 B)RX errors 0  dropped 0  overruns 0  frame 0TX packets 13  bytes 1034 (1.0 KiB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0veth6d1b68f: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet6 fe80::1812:aaff:fe12:ade2  prefixlen 64  scopeid 0x20<link>ether 1a:12:aa:12:ad:e2  txqueuelen 0  (Ethernet)RX packets 17  bytes 1795 (1.7 KiB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 27  bytes 2008 (1.9 KiB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0veth7fdc9d7: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet6 fe80::3c7a:4eff:fe8b:5613  prefixlen 64  scopeid 0x20<link>ether 3e:7a:4e:8b:56:13  txqueuelen 0  (Ethernet)RX packets 5  bytes 378 (378.0 B)RX errors 0  dropped 0  overruns 0  frame 0TX packets 19  bytes 1522 (1.4 KiB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0veth9e68eab: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet6 fe80::1403:a6ff:fea6:78f5  prefixlen 64  scopeid 0x20<link>ether 16:03:a6:a6:78:f5  txqueuelen 0  (Ethernet)RX packets 23  bytes 3519 (3.4 KiB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 42  bytes 6034 (5.8 KiB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0vethb62206b: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet6 fe80::2c6d:f9ff:fe34:abca  prefixlen 64  scopeid 0x20<link>ether 2e:6d:f9:34:ab:ca  txqueuelen 0  (Ethernet)RX packets 27  bytes 4455 (4.3 KiB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 51  bytes 8407 (8.2 KiB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0vethd26c9e7: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet6 fe80::44d3:f8ff:fef7:d5cf  prefixlen 64  scopeid 0x20<link>ether 46:d3:f8:f7:d5:cf  txqueuelen 0  (Ethernet)RX packets 5  bytes 378 (378.0 B)RX errors 0  dropped 0  overruns 0  frame 0TX packets 13  bytes 1034 (1.0 KiB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0[root@localhost ~]# docker run -itd --name=con1 busybox890233a888725ad01804d7c569ca5f68602930312e15b49e0d2279072cd496f7[root@localhost ~]# docker exec -it con1 ifconfigeth0      Link encap:Ethernet  HWaddr 02:42:AC:11:00:03  inet addr:172.17.0.3  Bcast:172.17.255.255  Mask:255.255.0.0UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1RX packets:8 errors:0 dropped:0 overruns:0 frame:0TX packets:0 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0RX bytes:656 (656.0 B)  TX bytes:0 (0.0 B)lo        Link encap:Local Loopback  inet addr:127.0.0.1  Mask:255.0.0.0UP LOOPBACK RUNNING  MTU:65536  Metric:1RX packets:0 errors:0 dropped:0 overruns:0 frame:0TX packets:0 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

container模式

这个模式可以指定新创建的容器和已经存在的一个容器共享一个Network Namespace,而不是和宿主机共享。新创建的容器不会创建自己的网卡,配置自己的IP,而是和一个指定的容器共享IP、端口范围等。同样,两个容器除了网络方面,其他的如文件系统、进程列表等还是隔离的。两个容器的进程可以通过lo网卡设备通信。

使用--net=container:container_id/container_name,多个容器使用共同的网络看到的ip是一样的。

[root@localhost ~]# docker run -itd --net=container:con1 --name=con2 busybox

bda04210a24f5979d60ea5785088cbe029a66ae418e468528a288a59757827dd

[root@localhost ~]# docker run -itd --net=container:con1 --name=con3 busybox

b0e99382e36b49e976a9c38d67d39e057694d98f61bdb4ed4fad13b592156b22

[root@localhost ~]# docker exec -it con2 ifconfig

eth0      Link encap:Ethernet  HWaddr 02:42:AC:11:00:03  

          inet addr:172.17.0.3  Bcast:172.17.255.255  Mask:255.255.0.0

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:8 errors:0 dropped:0 overruns:0 frame:0

          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0

          RX bytes:656 (656.0 B)  TX bytes:0 (0.0 B)

lo        Link encap:Local Loopback  

          inet addr:127.0.0.1  Mask:255.0.0.0

          UP LOOPBACK RUNNING  MTU:65536  Metric:1

          RX packets:0 errors:0 dropped:0 overruns:0 frame:0

          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000

          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

[root@localhost ~]# docker exec -it con3 ifconfig

eth0      Link encap:Ethernet  HWaddr 02:42:AC:11:00:03  

          inet addr:172.17.0.3  Bcast:172.17.255.255  Mask:255.255.0.0

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:8 errors:0 dropped:0 overruns:0 frame:0

          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0

          RX bytes:656 (656.0 B)  TX bytes:0 (0.0 B)

lo        Link encap:Local Loopback  

          inet addr:127.0.0.1  Mask:255.0.0.0

          UP LOOPBACK RUNNING  MTU:65536  Metric:1

          RX packets:0 errors:0 dropped:0 overruns:0 frame:0

          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000

          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

none模式

自己玩模式

在这种模式下,Docker容器拥有自己的Network Namespace,但是并不为Docker容器进行任何网络配置。也就是说,这个Docker容器没有网卡、IP、路由等信息。需要我们自己为Docker容器添加网卡、配置IP等。

使用--net=none指定,这种模式下不会配置任何网络。

[root@localhost ~]# docker run -itd --name=none --net=none busybox
3557fefcac5a2fa0bd5f8dfe878d244c8235ecbf2f3a546085e10c3b7ff39343
[root@localhost ~]# docker exec -it none ifconfig
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

bridge模式

bridge模式是Docker默认的网络设置,属于一种NAT网络模型,Docker daemon在启动的时候就会建立一个docker0网桥(通过-b参数可以指定),每个容器使用bridge模式启动时,Docker都会为容器创建一对虚拟网络接口(veth pair)设备,这对接口一端在容器的Network Namespace,另一端在docker0,这样就实现了容器与宿主机之间的通信。

 

在bridge模式下,Docker容器与外部网络通信都是通过iptables规则控制的,这也是Docker网络性能低下的一个重要原因。使用iptables -vnL -t nat可以查看NAT表,在Chain Docker中可以看到容器桥接的规则。

使用iptables -vnL -t nat可以查看NAT表,在Chain Docker中可以看到容器桥接的规则。

[root@localhost ~]# iptables -vnL -t nat

Chain PREROUTING (policy ACCEPT 17 packets, 2526 bytes)

 pkts bytes target     prot opt in     out     source               destination         

   73  3796 DOCKER     all  --  *      *       0.0.0.0/0            0.0.0.0/0            ADDRTYPE match dst-type LOCAL

Chain INPUT (policy ACCEPT 17 packets, 2526 bytes)

 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 3 packets, 228 bytes)

 pkts bytes target     prot opt in     out     source               destination         

    0     0 DOCKER     all  --  *      *       0.0.0.0/0           !127.0.0.0/8          ADDRTYPE match dst-type LOCAL

Chain POSTROUTING (policy ACCEPT 3 packets, 228 bytes)

 pkts bytes target     prot opt in     out     source               destination         

    0     0 MASQUERADE  all  --  *      !br-fcf5201effd8  172.25.0.0/16        0.0.0.0/0           

    0     0 MASQUERADE  all  --  *      !docker0  172.17.0.0/16        0.0.0.0/0           

    0     0 MASQUERADE  all  --  *      !br-b881c67f8813  172.18.0.0/16        0.0.0.0/0           

Chain DOCKER (2 references)

 pkts bytes target     prot opt in     out     source               destination         

    0     0 RETURN     all  --  br-fcf5201effd8 *       0.0.0.0/0            0.0.0.0/0           

    0     0 RETURN     all  --  docker0 *       0.0.0.0/0            0.0.0.0/0           

    0     0 RETURN     all  --  br-b881c67f8813 *       0.0.0.0/0            0.0.0.0/0        

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/22905.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

介绍Sping Boot的5个扩展点

1、初始化器ApplicationContextInitializer 我们在启动Spring Boot项目的时候&#xff0c;是执行这样一个方法来启动的 我们一层一层往下点&#xff0c;最终发现执行的是这个方法 所以我们在启动项目的时候也可以这样启动 new SpringApplication(SpringbootExtensionPointAp…

无脑入门pytorch系列(二)—— torch.mean

本系列教程适用于没有任何pytorch的同学&#xff08;简单的python语法还是要的&#xff09;&#xff0c;从代码的表层出发挖掘代码的深层含义&#xff0c;理解具体的意思和内涵。pytorch的很多函数看着非常简单&#xff0c;但是其中包含了很多内容&#xff0c;不了解其中的意思…

Kindling the Darkness: A Practical Low-light Image Enhancer论文阅读笔记

这是ACMMM2019的一篇有监督暗图增强的论文&#xff0c;KinD其网络结构如下图所示&#xff1a; 首先是一个分解网络分解出R和L分量&#xff0c;然后有Restoration-Net和Adjustment-Net分别去对R分量和L分量进一步处理&#xff0c;最终将处理好的R分量和L分量融合回去。这倒是很常…

linux-MySQL的数据目录

总结&#xff1a; window中的my.ini linux 中 /etc/my.cnfwindow中的D:\soft\mysql-5.7.35-winx64\data linux 中 /var/lib/mysql 1.查找与mysql有关的目录 find / -name mysql [rootVM-4-6-centos etc]# find / -name mysql /opt/mysql /etc/selinux/targeted/tmp/modul…

Mybatis引出的一系列问题-JDBC 的探究

1 引入对JDBC的理解-1 一般来说&#xff0c;Java应用程序访问数据库的过程是&#xff1a; 装载数据库驱动程序&#xff1b;通过jdbc建立数据库连接&#xff1b;访问数据库&#xff0c;执行sql语句&#xff1b;断开数据库连接。 Public void FindAllUsers(){//1、装载sqlserve…

Paleobotany——北美中生代-新生代化石植物总目(Paleobotanical card search)

北美中生代-新生代化石植物总目&#xff08;Paleobotanical card search&#xff09; 总览1. 介绍2. 历史3. 内容 用户手册&#xff08;卡片内容解读&#xff09;示例卡片组成CIC编号的详细解读年代编码解读 卡片检索 总览 了解学习使用由耶鲁皮博迪自然历史博物馆&#xff08…

【贪心算法】leetcode刷题

贪心算法无固定套路。 核心思想&#xff1a;先找局部最优&#xff0c;再扩展到全局最优。 455.分发饼干 两种思路&#xff1a; 1、从大到小。局部最优就是大饼干喂给胃口大的&#xff0c;充分利用饼干尺寸喂饱一个&#xff0c;全局最优就是喂饱尽可能多的小孩。先遍历的胃口&a…

[containerd] ContentPlugin插件源码分析

文章目录 1. 概述2. 环境3. 注册4. 核心概念4.1. blob4.2. ingest 5. 抽象接口5.1. Manager接口5.2. Provider5.3. IngestManager5.4. Ingester 6. 核心实现6.1. Info6.2. Update6.3. Walk6.4. Delete6.5. ReaderAt6.6. Status6.7. ListStatuses6.8. Abort6.9. Writer 7. 总结 …

MySQL进阶--存储引擎

目录 一、简介二、什么是存储引擎&#xff1f;三、MySQL中常用的存储引擎1.InnoDB2.MyISAM3.Memory4.三种存储引擎对比 四、存储引擎的选择PS: 一、简介 本文的内容讲的是MySQL中的存储引擎的相关知识&#xff0c;初步认识MySQL中的存储引擎及各引擎的特点~ 二、什么是存储引…

Redis 安装以及配置隧道连接

目录 1.CentOS 1. 安装Redis 2. Redis 启动和停⽌ 3. 操作Redis 2.Ubuntu 1. 安装Redis 2. Redis 启动/停⽌ 3. 操作 Redis 3.开启隧道 3.1 Xshell 配置隧道 3.2 windTerm 配置隧道 3.3 FinalShell配置隧道 4.可视化客户端连接 Another Redis Desktop Manager 1.Cen…

Unity Image(RawImage) 实现按轴心放大缩小,序列化存储轴心信息,实现编译器窗口保存轴心

工作时分配给我的要实现的功能&#xff0c;写的时候遇到挺多的坑的&#xff0c;在此记录一下 效果 放大缩小的效果 2.编译器扩展窗口记录 实现点 1.Json序列化存储图片轴心位置, 放大倍率&#xff0c;放大所需要的事件 2.用了编译器扩展工具便于保存轴心信息坑点 1.Imag…

深度学习:探究Tensor和Numpy

目录 引言 1 pytorch中Tensor 1.1 什么是Tensor 1.2 为什么需要Tensor 1.3 如何创建Tensor 1.3.1 从已有其他数据结构转化创建为Tensor 1.3.2 随机初始化一个Tensor 1.3.3 从已保存文件加载一个Tensor 1.4 Tensor的特性 1.4.1 丰富的常用函数操作 1.4.2 灵活的dtype和…

maven开发利器:idea安装maven依赖分析插件 Maven Helper,谁用谁知道!

大家好&#xff0c;我是三叔&#xff0c;很高兴这期又和大家见面了&#xff0c;一个奋斗在互联网的打工人。 这篇博客给大家介绍一款博主实战开发中一直在使用的pom开发分析利器&#xff0c;教大家玩转maven&#xff1a;使用idea安装 Maven Helper 插件&#xff0c;可以分析依…

企业电子招标采购系统源码Spring Boot + Mybatis + Redis + Layui + 前后端分离 构建企业电子招采平台之立项流程图 tbms

&#xfeff; 项目说明 随着公司的快速发展&#xff0c;企业人员和经营规模不断壮大&#xff0c;公司对内部招采管理的提升提出了更高的要求。在企业里建立一个公平、公开、公正的采购环境&#xff0c;最大限度控制采购成本至关重要。符合国家电子招投标法律法规及相关规范&am…

数据结构-链表

&#x1f5e1;CSDN主页&#xff1a;d1ff1cult.&#x1f5e1; &#x1f5e1;代码云仓库&#xff1a;d1ff1cult.&#x1f5e1; &#x1f5e1;文章栏目&#xff1a;数据结构专栏&#x1f5e1; 目录 目录 代码总览&#xff1a; 接口slist.h&#xff1a; slist.c: 1.什么是链表 1.1链…

用C语言构建一个数字识别卷积神经网络

卷积神经网络的具体原理和对应的python例子参见末尾的参考资料2.3. 这里仅叙述卷积神经网络的配置, 其余部分不做赘述&#xff0c;构建和训练神经网络的具体步骤请参见上一篇: 用C语言构建一个手写数字识别神经网路 卷积网络同样采用简单的三层结构&#xff0c;包括输入层con…

k8s pod数据存储Volumes

一、说在前面的话 在 Kubernetes 的 Deployment 中&#xff0c;您可以使用多种类型的 Volumes 来管理 Pod 中的数据。 作用是用来共享目录及配置&#xff0c;不用在每个pod里进行配置。 本文主要概述怎么使用HostPath、PersistentVolumeClaim、ConfigMap。 二、k8s有哪些Vol…

《golang设计模式》第一部分·创建型模式-04-抽象工厂模式(Abstract Factory)

文章目录 1. 概述1.1 角色1.2 类图 2. 代码示例2.1 设计2.2 代码2.3 类图 1. 概述 1.1 角色 AbstractFactory&#xff08;抽象工厂&#xff09;&#xff1a;它声明了一组用于创建产品的方法&#xff0c;每一个方法对应一种产品。ConcreteFactory&#xff08;具体工厂&#xf…

vue el-input 使用 回车键会刷新页面的问题

场景&#xff1a; vue项目中 在输入框输入字符并按下回车键搜索时&#xff0c;不会进行搜索&#xff0c; 而是会刷新页面 原因&#xff1a; 当form表单中只有一个input时&#xff0c;按下回车建会自动触发页面的提交功能&#xff0c; 产生刷新页面的行为 解决&#xff1a; 在…

Spring 事务详解(注解方式)

目 录 序言 1、编程式事务 2、配置声明式事务 2.1 基于TransactionProxyFactoryBean的方式&#xff08;不常用&#xff0c;因为要为每一个类配置TransactionProxyFactoryBean&#xff09; 2.2 基于AspectJ的XML方式&#xff08;常用&#xff0c;可配置在某些类下的所有子…