首页IT科技docker三种网络模式(Docker网络上篇-网络介绍)

docker三种网络模式(Docker网络上篇-网络介绍)

时间2025-04-29 21:25:30分类IT科技浏览4184
导读:通过前面的学习,我们已经可以把自己写的微服务项目通过dockerfile文件方式部署到docker上面了。那么微服务之间通信,怎么通信的?是在同一个网络还是在不同的网络环境下?docker中怎么配置网络环境呢?本文咱们就一起学学docker网络。...

通过前面的学习            ,我们已经可以把自己写的微服务项目通过dockerfile文件方式部署到docker上面了             。那么微服务之间通信                   ,怎么通信的?是在同一个网络还是在不同的网络环境下?docker中怎么配置网络环境呢?本文咱们就一起学学docker网络                  。

本系列教程直通车

直通车      ,本系列教程已发布文章            ,快速到达,《Docker学习系列》教程已经发布的内容如下:

【图文教程】Windows11下安装Docker Desktop

【填坑】在windows系统下安装Docker Desktop后迁移镜像位置

【Docker学习系列】Docker学习1-docker安装

【Docker学习系列】Docker学习2-docker设置镜像加速器

【Docker学习系列】Docker学习3-docker的run命令干了什么?docker为什么比虚拟机快?

【Docker学习系列】Docker学习2-常用命令之启动命令和镜像命令

【Docker学习系列】Docker学习系列3:常用命令之容器命令

【Docker学习系列】Docker学习4-常用命令之重要的容器命令

【Docker教程系列】Docker学习5-Docker镜像理解

【Docker教程系列】Docker学习6-Docker镜像commit操作案例

【Docker学习教程系列】7-如何将本地的Docker镜像发布到阿里云

【Docker学习教程系列】8-如何将本地的Docker镜像发布到公司镜像服务器上?

「Docker学习系列教程」9-Docker容器数据卷介绍

「Docker学习系列教程」10-Docker容器数据卷案例

Docker学习11-Docker常规方式安装软件

「Docker学习系列教程」基础篇小总结及高级篇预告

docker高级篇1-dockeran安装mysql主从复制

docker高级篇2-分布式存储之三种算法

docker高级篇第二章-分布式存储之实战案例:3主3从redis集群扩容配置

docker高级篇第二章-分布式存储之实战案例:主从容错切换迁移案例

Docker高级:Redis集群实战!4主4从缩容到3主3从                   ,怎么处理?

Dockerfile介绍及常用保留指令

docker高级篇第三章-dockerfile案例之制作自己的centos镜像

docker的虚悬镜像是什么?

docker高级篇:实战-自己开发的微服务怎么在docker上面运行?

凯哥自己开发的      ,领取外卖             、打车                  、咖啡      、买菜       、各大电商的优惠券的公¥众¥号      。如下图:

【Docker学习教程系列汇总】笔记及遇到问题解决文章

docker网络是什么?

在不启动docker之前      ,我们来看看宿主机的网络情况       。使用命令:ifconfig

说明:

ens33:是宿主机的ip.比如我们想通过我们物理机Windows连接到虚拟机宿主机的话                   ,就是用的是这个ip.

lo:local             ,本地地址                  。

virbro:centos在虚拟化的时候      ,会安装一个以网桥连接的私网地址            。默认就是192.168.122.1       。是做虚拟机网桥使用的                   。

启动docker后                  ,在查看宿主机网络情况.命令依然是ifconfig

我们发现会多出一个 docker0的网卡            。这个就是本章节需要讲解的。

Docker网络常用的命令:

使用命令查看:

docker network ls

bridge                  、host            、none是默认创建的3大网络模式                   。

我们先来help下             ,看看docker network都有哪些命令

命令:

查看命令:

docker网络能干嘛?

网络模式

docker网络有以下几种模式:

其中比较常用的是bridge和host模式                  。

docker网络底层ip和容器映射关系

先启动两个ubuntu

查看网络情况:

docker inspect u1

或者只查看倒数20行

docker inspect ul | tail -n 20

我们再来看看u2的网络设置

假设我们把uw rm -f

然后我们在启动一个u3

再来看看U3的ip:

哇哦!ip是0.3。我们发现这个时候u3的ip竟然复用了u2的ip.这是多么可怕             。

比如,在实际中                  ,u2上面安装的是mysql.u2宕机后                   ,创建了u3,向redis集群使用                  。但是,项目中写的ip还是172.17.0.3来连接数据库      。那么u3启动后            ,是redis服务             。程序连接MySQL也来找0.3                  。是不是很可怕      。所以                   ,在服务中      ,写死ip的需要注意       。

所以            ,在实际中                   ,我们在规划服务的时候      ,ip应该写死的                  。

那么怎么处理呢?我们会用到

docker network create网络名称

我们创建指定的网络名称            。然后设置ip.其他同一类的都可以使用这个网络名称(网络范围内)       。通过网络服务来连接                   。

结束语

如操作有问题欢迎去 我的个人博客(www.kaigejava.com)留言或者 微信公众号(凯哥Java)留言交流哦            。

大家好,我是凯哥Java(kaigejava)      ,乐于分享                   ,每日更新技术文章             ,欢迎大家关注“凯哥Java            ”      ,及时了解更多。让我们一起学Java                   。也欢迎大家有事没事就来和凯哥聊聊~~~

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
初始化列表的使用(C++11:列表初始化) python爬虫100例(Python爬虫实战,requests+tqdm模块,爬取漫画之家漫画数据(附源码))