06 docker网络

我们只要安装docker,就会多一个网卡:docker0,docker0与宿主是直连的

![image-20211018144313167](/Users/user/Library/Application Support/typora-user-images/image-20211018144313167.png)

01 容器网络基础

每启动一个容器,docker就会给容器分配一个ip,与docker0是桥接模式。利用的是evth-pair技术,网卡都是成对出现的

容器默认是的网络是docker0,可以自定义指定网络

  • evth-pair技术
一堆虚拟网卡技术,一端连着协议,一端彼此相连
  • 容器与宿主是可以相互通信的
  • 容器与容器是可以通讯的
docker使用的是linux的桥接,docker0是各个容器的网桥,容器间的通讯是基于docker0路由连接的

![image-20211018150728742](/Users/user/Library/Application Support/typora-user-images/image-20211018150728742.png)

docker中所有的网络接口都是虚拟的

老的,不建议使用了

通过名字链接,ip可以变化

docker run -d --name tomcat01 --link tomcat01 tomcat
docker exec -it tomcat02 ping tomcat01

可以直接根据--link后的名字连接

本质:就是在docker容器中的/etc/hosts中,加了ip与名字的映射

![image-20211018152114620](/Users/user/Library/Application Support/typora-user-images/image-20211018152114620.png)

03 自定义网络

推荐使用

不使用docker0,因为docker0不支持容器名(域名)访问

  • 查看所有的docker网络
    • bridge: 桥接,docker模式
    • none:不配置网络
    • host:与宿主机共享网络
    • container:容器内网络连通(不建议使用)

![image-20211018152359181](/Users/user/Library/Application Support/typora-user-images/image-20211018152359181.png)

  • 创建网络
docker netsork create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 网卡名字 

注意:

--driver 跟子网

--gatway网关地址,一般子网的第一位

  • 启动容器使用自定义的网络
docker run -d tomcat --net 网卡名字

注意:

​ 用自定义的网络,可以直接通过容器名字访问(ping)

04 网络连通的操作

docker0的容器和自定义的网络容器连通

docker network connect [OPTIONS] NETWORK CONTAINER
docker network connect 自定义网络 要连通的容器

注意:

​ 是把要连接的容器加到自定义网络的配置中

​ 一个容器两个ip

posted @ 2021-10-18 16:46  tianzhh_lynn  阅读(26)  评论(0编辑  收藏  举报