13.Docker网络

ip addr
查看地址
三个网络
运行tomcat
查看容器内网络地址

查看容器内网络地址
ping docker分配的地址
原理

每次启动一个容器,就会多一个网口

每次启动一个容器,就会多一个网口

以ip方式进入tomcat02

以ip方式进入tomcat02
image.png

测试tomcat01和tomcat02是否可以ping通

测试tomcat01和tomcat02是否可以ping通

网络模型图

网络模型图

结论:tomcat01和tomcat02是公用的一个路由器,docker0。

结论
image.png

Docker使用的是Linux桥接,宿主机中是一个Docker容器的网桥 docker0。最多大约分配65535个地址


image.png

移除容器之后,网卡自动消失

移除容器之后,网卡自动消失

查看容器地址,发现261到262的网络地址没有了

查看容器地址,发现261到262的网络地址没有了
结论

--link

--link

直接通过镜像名ping俩个tomcat,发现并不能ping通

docker exec -it tomcat02 ping tomcat01
直接通过镜像名ping俩个tomcat,发现并不能ping通

通过--link启动tomcat 可以通过镜像名之间ping通

docker run -d -P --name tomcat03 --link tomcatj02 tomcat
通过--link启动tomcat 可以通过镜像名之间ping通

但是此时反向不可以ping通,也就是tomcat02ping不同tomcat03

但是此时反向不可以ping通,也就是tomcat02ping不同tomcat03

查看docker网络

查看docker网络

查看容器中的三个tomcat分配了三个ip

查看容器中的三个tomcat分配了三个ip
image.png

查看tomcat03的配置,发现--link就是在tomcat03的hosts中配置了tomcat02的地址

在tomcat03的hosts中配置了tomcat02的地址

再次查看tomcat02的hosts配置,发现里面没有配置tomcat03的配置,所以tomcat02ping不同tomcat03,也就说明--link是单向的

再次查看tomcat02的hosts配置,发现里面没有配置tomcat03的配置,所以tomcat02ping不同tomcat03,也就说明--link是单向的
结论

自定义网络

查看所有的docker网络

查看所有的docker网络

网络模式

网络模式

1.查看ip地址

查看ip地址

2.创建docker网络

docker network create --drive bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 mynet
# --subnet:子网掩码
# --gateway:网关
#--drive:bridge 桥接方式
创建docker网络
image.png

查看刚刚配置的网络


查看刚刚配置的网络

3.查看自己配置的网络

docker network inspect mynet
查看自己配置的网络

4.用我们自己的网络启动两个tomcat

用我们自己的网络启动两个tomcat

5.此时查看我们自己的网络mynet,发现有俩个容器 就是刚刚的俩个tomcat

docker network inspect mynet
此时查看我们自己的网络`mynet`,发现有俩个容器 就是刚刚的俩个tomcat

此时查看我们自己的网络`mynet`,发现有俩个容器 就是刚刚的俩个tomcat

6.此时再次ping俩个tomcat,发现已经可以实现互相ping通

此时再次ping俩个tomcat,发现已经可以实现互相ping通

而且通过名字也可以ping通俩个tomcat


而且通过名字也可以ping通俩个tomcat

网络打通

1.想要实现172.18.0.1ping通192.168.0.1


网络打通
docker network connect命令的使用方法

2.首先使用mynet网络和tomcat01连通

docker network connect mynet tomcat01
首先使用mynet网络和tomcat01连通

3.此时再次查看mynet网络


image.png
image.png

一个容器,俩个IP地址,tomcat01有俩个ip

4.此时ping俩个tomcat
其中一个是docker0网络的tomcat01,一个是mynet的tomcat-net-01,发现可以ping通


此时ping俩个tomcat
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 容器数据卷 1. 什么是容器数据卷 docker的理念回顾 将应用和环境打包成一个镜像! 数据?如果数据都在容器中...
    弹钢琴的崽崽阅读 804评论 1 3
  • 1、查看网路地址 使用命令ip addr查看网络的基本信息网络实例 docker安装后会有一个docker0网卡,...
    chanyi阅读 480评论 0 0
  • 一、Docker网络--理解Docker0 准备工作:清空所有环境将docker 的所有镜像、容器先删除,干干净净...
    一乐乐阅读 495评论 0 0
  • 测试docker容器内部网络能否ping通。 docker run -d -P --name tomcat01 t...
    ShawLen阅读 314评论 0 0
  • Docker 概述 官网:https://www.docker.com/[https://www.docker.c...
    Sheik阅读 582评论 0 0