Docker复习07——Docker 网络

Docker 网络

  • 为了通信
  • 为了容器互联

启动docker 查看网络

在这里插入图片描述

发现多出来一个docker0 【172.17.0.1】

常用命令

[root@tianqinglong101 test]# docker network ls   # 查看网络
NETWORK ID     NAME      DRIVER    SCOPE
38358913a9b3   bridge    bridge    local  (常用) 默认docker0
71409d332a99   host      host      local  (常用)
ab17295eb09a   none      null      local

docker network create aa_network #创建一个网络
docker network ls # 发现多了一个aa_network  默认 bridge 模式
docker network rm aa_network #删除一个网络
启动ubuntu  --name u1 --name u2
docker inspect u1 |tail -n 20 # 查看信息  ipaddress 172.17.0.2
docker inspect u2 |tail -n 20 # 查看信息  ipaddress 172.17.0.3


docker rm -f u2
启动ubuntu  --name u3
docker inspect u3 |tail -n 20 # 查看信息  ipaddress 172.17.0.3

# 结论 : docker容器内部的up地址是会变动的


bridge
  • 两两匹配
docker network inspect bridge  # 查看详细网络信息

在这里插入图片描述

案例说明

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

docker ps

docker exec -it tomcat81 bash
ip addr

验证

在这里插入图片描述

host

在这里插入图片描述

案例

docker run -d -p 8083:8080 --network host --name tomcat83 billygoo/tomcat8-jdk8  # 警告

docker run -d  --network host --name tomcat83 billygoo/tomcat8-jdk8  #正确 不需要端口号映射 因为和宿主机用的同一份网络

在这里插入图片描述

没有端口如何看到tomcat猫

直接 ip:8080

none
  • 很少用 做个了解即可
  • 只有一个lo 网络
docker run -d -p 8084:8084 --network none --name tomcat84 billygoo/tomcat8-jdk8
container
  • 公用同一个网桥

在这里插入图片描述

8086用8085的 运行第二句 会有个坑 端口冲突 不能用tomcat 但使用就是这么使用~

如果8085关闭了 8086的网络也没了

自定义网络

docker link 过时了~

之前

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

docker ps

docker exec -it tomcat81 bash
docker exec -it tomcat82 bash

# tomcat81
ip addr
172.17.0.2
# tomcat82
ip addr
172.17.0.3

# tomcat81
ping 172.17.0.3 可以
# tomcat82
ping 172.17.0.2 可以


服务名ping通呢? 不可以
# tomcat81
ping tomcat81 不可以
# tomcat82
ping tomcat81 不可以

之后

# 自定义网络使用的是 bridge

docker network create zzyy_network  # 创建一个网络

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# 新建容器加入新建的自定义网络

docker exec -it tomcat81 bash
docker exec -it tomcat82 bash

此时ping 服务名
ping tomcat82 # 互相能ping通  域名和ip都能ping通

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值