Docker网络

能干嘛?

  1. 容器间的互联和通信以及端口映射。
  2. 容器IP变动时候可以通过服务名直接网络通信而不受到影响。

docker不启动,默认网络情况 

使用ifconfig查看,发现  ens33   lo    virbr0  

docker启动后,网络情况

使用ifconfig查看,会产生一个名为 docker0 的虚拟网桥。

若想使用docker查看网络模式 ,我们需开启docker,systemctl start docker

使用命令 docker network ls后,发现有三个模式,bridge、host、none。

网络模式总体介绍

  1. bridge模式:使用--network  bridge指定,默认使用docker0
  2. host模式:使用--network host指定
  3. none模式:使用--network none指定
  4. container模式:使用--network container:NAME或者容器ID指定
  5. 自定义网络模式

在此之前,需掌握如下常用基本命令:

  1.   查看网络 docker network ls
  2.   查看网络源数据 docker inspect xxx网络名,比如 docker inspect bridge
  3.   删除网络  docker network rm xxx网络名
  4.   创建网络 docker network 自定义网络名

  • 使用默认的网络模式

如果没有 billygoo/tomcat8-jdk8这个镜像会自动pull。

创建俩个tomcat容器

docker run -d -p 8081:8080   --name tomcat81 billygoo/tomcat8-jdk8

docker run -d -p 8082:8080   --name tomcat82 billygoo/tomcat8-jdk8

上述成功启动并用docker exec进入各自容器实例内部,查看IP地址 ip addr

按照IP地址ping是OK的     按照服务名ping结果???   不行!!!

  • 自定义桥接网络,自定义网络默认使用的是桥接网络bridge

新建自定义网络  docker network create xxx

新建容器加入上一步新建的自定义网络

docker run -d -p 8081:8080 --network zzyy_network  --name tomcat81 billygoo/tomcat8-jdk8

docker run -d -p 8082:8080 --network zzyy_network  --name tomcat82 billygoo/tomcat8-jdk8

按照IP地址ping是OK的     按照服务名ping结果???   靠!就很棒!

问题结论:自定义网络本身就维护好了主机名和ip的对应关系(ip和域名都能通)

加油!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值