栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Docker网络简介

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Docker网络简介

宿主机运行docker后,会产生docker0的默认网桥,默认为172.17.0.1:

查看docker的默认网络模式:

docker network ls

brigde(桥接)网络是默认的网络模式,创建容器时不指定--network选项就是桥接模式,容器有自己的ip和端口。host主机模式则以为着容器和主机公用同一个网络ip和端口。none表示禁用该容器的网络,一般用不到。还有一种container模式,用于共享容器间的网络,在本文文末再介绍。

自定义一个docker网络:

docker network create mynet

可以看出新建的mynet默认也是桥接模式。

删除自定义网络:

docker network rm mynet

 查看网络详情:

docker network inspect 网络名

以上是docker网络的基本命令,而docker网络的最大作用在于可以让多个容器位于同一个自定义的网络中,避免因容器ip变化导致的业务功能、微服务调用等错误。现在自定义一个网络mynet:

然后运行两个redis实例,网络模式都指定为mynet(注意虽然指定为自定义网络,但驱动还是bridge):

这里为了简便,没有指定redis的数据卷路径映射关系。然后进入其中一个容器:

docker exec -it redis_network1 bash

尝试通过容器名来ping redis_network2:

发现能ping通,而进入前两篇文章的redis集群,通过容器名ping其他节点是ping不通的:

上述例子阐明了docker自定义网络的好处,即一旦某个容器宕机重启,其ip是会变的,如果不使用容器名/服务名,而直接将ip写死肯定是会出业务问题的。

上述过程中可能会报ping命令/ifconfig命令不存在,可以依次执行以下命令安装网络命令:

apt-get update
apt-get install -y net-tools
apt-get install iputils-ping

最后简单介绍容器间共享网络使用的container模式:

docker run -d --network container:容器1 --name 容器2 镜像名

上述命令就可以使容器2复用容器1的网络,但上述命令最好别用于tomcat镜像。如果容器1停掉了,容器的网络也没了。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/851367.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号