1.host 模式,使用docker run 时 使用--net=host 指定 docker 使用的网络和宿主机一样,在容器上看到的网卡ip就是宿主机上的ip 2.container 模式,使用--net=container:container_id/container_name (容器id或者容器名字) 多个容器使用共同的 网络, 看到的ip是一样的 3.none 模式 ,使用--net=none 指定 这种模式下,不会配置任何网络 4.bridge 模式,使用--net=bridge指定 默认模式下,不用指定默认就是这种网络模式。 这种模式会为每个容器分配一个独立的Network Namespace 类似于vmwae的nat网络。 同一个宿主机上的所有容器会在同一个网段下,相互之间是可以通信的。 docker:/root# docker exec -it 99037e5ed32e bash bash-4.1# /sbin/ifconfig -a eth0 Link encap:Ethernet HWaddr 02:42:AC:11:00:04 inet addr:172.17.0.4 Bcast:0.0.0.0 Mask:255.255.0.0 inet6 addr: fe80::42:acff:fe11:4/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:2595 errors:0 dropped:0 overruns:0 frame:0 TX packets:2120 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:10934454 (10.4 MiB) TX bytes:137500 (134.2 KiB) 类似于vmware的nat模式