docker网络相关

1、网卡有namespace的概念,不同的俩个namesp之间的网卡不能直接通信

  为了俩个namespace的网卡相互通信,可以通过veth pair(一对)来实现.不同容器之间,便是通过veth pair实现的

2、docker的网络模式有3种

  bridge  桥接,同一bridge的网络可以互通

  host     直接用宿主机的网卡,自己不再创建网卡

  none   只有127.0.0.1,不可与外界连通

3、通过link方法可实现夸网桥.

docker run -d --name demo--link tomcat2:alias --memory 500M tomcat

  查看容器 /etc/hosts ,可发现,docker已经将host对应关系加入文件当中,不推荐,多个网络需要一个一个配置

4、docker创建容器时,默认创建docker0虚拟网桥;

  也可以添加net-work,添加新的网桥,通过net-work创建的网桥,同一网桥的容器可以直接通过容器名ping通

  不同网桥,不能直接访问,通过将不同容器添加到相同net-work,可实现夸网桥连接

命令:

docker network create [--subnet ip/子掩码] test-net    #创建network,可通过--subnet指定网段
docker network rm test-net        #删除network
docker network inspect test-net   #查看network
docker network ls          #网桥列表 docker network connect test
-net tomcat1 #将已存在的容器添加到网桥 docker run --name demo -d --network test-net --network-alias netAlias --p ip tomcat #加入test-net启动容器,如果指定ip,需要为network的网段范围

5、一般一个类型应用,建一个bridge,如mysql集群,创建一个bridge,tomcat集群再创建一个

 

 

原文地址:https://www.cnblogs.com/jaxlove-it/p/12039112.html