当前位置: 首页 > news >正文

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        

相关文章:

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

安装Docker时会自动创建3个网络&#xff0c;可以使用docker network ls命令列出这些网络。 [rootlocalhost ~]# docker network ls NETWORK ID NAME DRIVER SCOPE ebcfad6f4255 bridge bridge local b881c67f8813 compose_lnmp_lnmp…...

Docker DCT

DOCKER_CONTENT_TRUST 如何使用Docker Content Trust为容器确保安全&#xff1f;-51CTO.COM...

【owt】erzio的handler和pipeline

【owt】erzio的PipelineBase::addService licode学习之erizo篇–Pipeline_handle 大神分析的非常细致: 大神 总结:erizo的pipeline的handler是负责实际数据处理的,通过处理链路,将之串联起来 大神还绘制了基础类图: pipleline 负责读写数据包并处理数据包 创建:static Pt…...

Dockerfile构建mysql

使用dockerfile构建mysql详细教学加案例 Dockerfile 文件 # 使用官方5.6版本&#xff0c;latest为默认版本 FROM mysql:5.6 #复制my.cof至容器内 ADD my.cnf /etc/mysql/my.cof #设置环境变量 密码 ENV MYSQL_ROOT_PASSWORD123456my.cof 文件 [mysqld] character-set-server…...

QT-如何生成唯一ID

在Qt中&#xff0c;我们可以使用QUuid类来生成唯一的ID。QUuid是一个用于操作通用唯一标识符&#xff08;UUID&#xff09;的类&#xff0c;它可以生成符合RFC4122标准的UUID。 以下是一个示例代码&#xff0c;演示了如何使用QUuid生成唯一的ID&#xff1a; #include <QAp…...

Go语言基础: Switch语句、Arrays数组、Slices切片 详细教程案例

文章目录 一. Switch语句1. Default case2. Multiple expressions in case3. Expressionless switch4. Fallthrough5. break6. break for loop 二. Arrays数组1. when arrays are passed to functions as parameters2. Iterating arrays using range3.Multidimensional arrays …...

从URL取值传给后端

从URL传值给后端 http://127.0.0.1:8080/blog_content.html?id8点击浏览文章详情&#xff0c;跳转至详情页面 从 url 中拿出文章 id&#xff0c;传给后端 首先拿到url然后判断是否有值&#xff0c;从问号后面取值params.split(&) 以 & 作为分割然后遍历字符数组 param…...

API接口用例生成器

一、前言 随着自动化测试技术的普及&#xff0c;已经有很多公司或项目&#xff0c;多多少少都会进行自动化测试。 目前本部门的自动化测试以接口自动化为主&#xff0c;接口用例采用 Excel 进行维护&#xff0c;按照既定的接口用例编写规则&#xff0c;对于功能测试人员来说只…...

最新AI创作系统ChatGPT源码V2.5.8/支持GPT4.0+GPT联网提问/支持ai绘画Midjourney+Prompt+MJ以图生图+思维导图生成!

使用Nestjs和Vue3框架技术&#xff0c;持续集成AI能力到系统&#xff01; 最新版【V2.5.8】更新&#xff1a; 新增 MJ 官方图片重新生成指令功能同步官方 Vary 指令 单张图片对比加强 Vary(Strong) | Vary(Subtle)同步官方 Zoom 指令 单张图片无限缩放 Zoom out 2x | Zoom ou…...

【Vxworks】映射物理地址为虚拟地址,并获取此地址的存放值

最近开始接触Vxworks&#xff0c;得知Vx中不可对物理地址直接操作&#xff0c;需要先转为虚拟地址。 本文则将介绍此实现方法。 1. 物理地址映射为虚拟地址 采用pmapGlobalMap接口&#xff0c;对从0xf0000000开始&#xff0c;大小为0x1000的地址空间进行映射&#xff0c;得到…...

C/C++可变参数列表

可变参数列表 可变参数宏--__VA_ARGS__C风格不定参使用补充知识&#xff1a;函数调用时参数的压栈顺序及内存使用使用不定参模拟实现printf C风格不定参数的使用 可变参数宏–VA_ARGS #include <stdio.h>//...表示不定参&#xff0c;__VA_ARGS__使用不定参 // __FILE__ …...

MongoDB基本命令使用

成功启动MongoDB后&#xff0c;再打开一个命令行窗口输入mongo&#xff0c;就可以进行数据库的一些操作。 输入help可以看到基本操作命令&#xff1a; show dbs:显示数据库列表 show collections&#xff1a;显示当前数据库中的集合&#xff08;类似关系数据库中的表&#xf…...

uniapp 微信小程序 上下滚动的公告通知(只取前3条)

效果图&#xff1a; <template><view class"notice" click"policyInformation"><view class"notice-icon"><image mode"aspectFit" class"img" src"/static/img/megaphone.png"></i…...

OSPF在MGRE上的实验

实验题目如下&#xff1a; 实验拓扑如下&#xff1a; 实验要求如下&#xff1a; 【1】R6为ISP只能配置ip地址&#xff0c;R1-5的环回为私有网段 【2】R1/4/5为全连的MGRE结构&#xff0c;R1/2/3为星型的拓扑结构&#xff0c;R1为中心站点 【3】所有私有网段可以互相通讯&…...

什么样的跨网文件安全交换系统 可实现安全便捷的文件摆渡?

进入互联网时代&#xff0c;网络的运算和数据管理能力助力各个行业高速发展&#xff0c;但同样带来了一些网络安全隐患&#xff0c;网络攻击、数据窃取、敏感信息泄露等问题。为此&#xff0c;我国出台了系列政策来全面提升银各行业系统网络安全整体防护水平&#xff0c;其中“…...

C语言memset函数的作用

memset函数是C语言中的一个库函数&#xff0c;其作用是将一块内存区域的每个字节都设置为指定的值。 memset函数的原型如下&#xff1a; void *memset(void *ptr, int value, size_t num); 参数解释&#xff1a; ptr&#xff1a;指向要填充的内存区域的指针。value&#xff1…...

暑假刷题第23天--8/7

D-游游的k-好数组_牛客周赛 Round 6 (nowcoder.com)&#xff08;关键--a[1]a[k1]&#xff09; #include<iostream> #include<algorithm> using namespace std; const int N100005; int a[N]; typedef pair<int,int>PII; PII b[N]; void solve(){int n,k,x;…...

Double DQN缓解动作价值的高估问题

1、算法&#xff1a; Selection using DQN&#xff1a; a ⋆ argmax ⁡ a Q ( s t 1 , a ; w ) . a^{\star}\operatorname*{argmax}_{a}Q(s_{t1},a;\mathbf{w}). a⋆aargmax​Q(st1​,a;w). Evaluation using target network: y t r t γ ⋅ Q ( s t 1 , a ⋆ ; w − )…...

【C#学习笔记】内存管理

文章目录 分配内存释放内存GC标记清除算法分代算法大对象和小对象 .NET的GC机制有这样两个问题&#xff1a; 官方文档 自动内存管理 自动内存管理是CLR在托管执行过程中提供的服务之一。 公共语言运行时的垃圾回收器为应用程序管理内存的分配和释放。 对开发人员而言&#xf…...

面试之快速学习c++11- 列表初始化和 lambda匿名函数的定义

学习地址&#xff1a; http://c.biancheng.net/view/3730.html 8. C11列表初始化&#xff08;统一了初始化方式&#xff09; 我们知道&#xff0c;在 C98/03 中的对象初始化方法有很多种&#xff0c;请看下面的代码&#xff1a; //初始化列表 int i_arr[3] { 1, 2, 3 }; /…...

盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来

一、破局&#xff1a;PCB行业的时代之问 在数字经济蓬勃发展的浪潮中&#xff0c;PCB&#xff08;印制电路板&#xff09;作为 “电子产品之母”&#xff0c;其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透&#xff0c;PCB行业面临着前所未有的挑战与机遇。产品迭代…...

为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?

在建筑行业&#xff0c;项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升&#xff0c;传统的管理模式已经难以满足现代工程的需求。过去&#xff0c;许多企业依赖手工记录、口头沟通和分散的信息管理&#xff0c;导致效率低下、成本失控、风险频发。例如&#…...

最新SpringBoot+SpringCloud+Nacos微服务框架分享

文章目录 前言一、服务规划二、架构核心1.cloud的pom2.gateway的异常handler3.gateway的filter4、admin的pom5、admin的登录核心 三、code-helper分享总结 前言 最近有个活蛮赶的&#xff0c;根据Excel列的需求预估的工时直接打骨折&#xff0c;不要问我为什么&#xff0c;主要…...

涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战

“&#x1f916;手搓TuyaAI语音指令 &#x1f60d;秒变表情包大师&#xff0c;让萌系Otto机器人&#x1f525;玩出智能新花样&#xff01;开整&#xff01;” &#x1f916; Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制&#xff08;TuyaAI…...

深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南

&#x1f680; C extern 关键字深度解析&#xff1a;跨文件编程的终极指南 &#x1f4c5; 更新时间&#xff1a;2025年6月5日 &#x1f3f7;️ 标签&#xff1a;C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言&#x1f525;一、extern 是什么&#xff1f;&…...

#Uniapp篇:chrome调试unapp适配

chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器&#xff1a;Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...

Yolov8 目标检测蒸馏学习记录

yolov8系列模型蒸馏基本流程&#xff0c;代码下载&#xff1a;这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中&#xff0c;**知识蒸馏&#xff08;Knowledge Distillation&#xff09;**被广泛应用&#xff0c;作为提升模型…...

Java + Spring Boot + Mybatis 实现批量插入

在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法&#xff1a;使用 MyBatis 的 <foreach> 标签和批处理模式&#xff08;ExecutorType.BATCH&#xff09;。 方法一&#xff1a;使用 XML 的 <foreach> 标签&#xff…...

CRMEB 中 PHP 短信扩展开发:涵盖一号通、阿里云、腾讯云、创蓝

目前已有一号通短信、阿里云短信、腾讯云短信扩展 扩展入口文件 文件目录 crmeb\services\sms\Sms.php 默认驱动类型为&#xff1a;一号通 namespace crmeb\services\sms;use crmeb\basic\BaseManager; use crmeb\services\AccessTokenServeService; use crmeb\services\sms\…...

华为OD最新机试真题-数组组成的最小数字-OD统一考试(B卷)

题目描述 给定一个整型数组,请从该数组中选择3个元素 组成最小数字并输出 (如果数组长度小于3,则选择数组中所有元素来组成最小数字)。 输入描述 行用半角逗号分割的字符串记录的整型数组,0<数组长度<= 100,0<整数的取值范围<= 10000。 输出描述 由3个元素组成…...