网关
网关实质上是一个网络通向其他网络的
IP
地址。
路由器(
Windows
下叫默认网关,网关就是路由,路由就是网关不要蒙)
规则
计算机的
IP
地址由两部分组成,一部分为网络标识,一部分为主机标识,同一网段内的计算机网络部分
相同,主机部分不同同时重复出现。
路由器连接不同网段,负责不同网段之间的数据转发,交换机连接的是同一网段的计算机。通过设置网
络地址和主机地址,在互相连接的整个网络中保证每台主机的
IP
地址不会互相重叠,即
IP
地址具有了唯
一性。
当你安装了
docker,
它会自动创建
3
个网络,可以使用
docker network ls
命令来查看
当
Docker
进程启动时,会在主机上创建一个名为
docker0
的虚拟网桥,此主机上启动的
Docker
容器会连
接到这个虚拟网桥上。
虚拟网桥的工作方式和物理交换机类似,这样主机上的所有容器就通过交换机连在了一个二层网络中。
从
docker0
子网中分配一个
IP
给容器使用,并设置
docker0
的
IP
地址为容器的默认网关。
bridge
模式是
docker
的默认网络模式,不写
--net
参数,就是
bridge
模式。
docker run
-
itd
--
net
=
bridge
--
name cname iname
docker0
就像是一个路由器,容器就像是路由器下的设备,它们在同一个网段内,可以互相
ping
通
docker0
就像是一个路由器,容器就像是路由器下的设备,它们在同一个网段内,可以互相
ping
通。
docker run
-
itd
--
name bridge03
-
p
8081
:
8080
spring
:
1.0
host
模式
如果启动容器的时候使用
host
模式,那么这个容器将不会获得一个独立的
Network Namespace
,而是
和宿主机共用一个
Network Namespace
。
容器将不会虚拟出自己的网卡,配置自己的
IP
等,而是使用宿主机的
IP
和端口。
但是,容器的其他方面,如文件系统、进程列表等还是和宿主机隔离的。
docker run
-
itd
--
name host01
--
net
=
host spring
:
1.0
docker network create
网段
name
docker run
-
itd
--
name net01
--
net mynet
--
ip
172.18
.
0.2
spring
:
1.0
docker exec
-
it net01 ping net02
docker exec
-
it net01 ping
172.0
.
0.2