Docker网络上篇-网络介绍

作者: 凯哥Java | 来源:发表于2022-12-27 10:39 被阅读0次

通过前面的学习,我们已经可以把自己写的微服务项目通过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

83db5788a4881323fe2ffcfd30b9d454.png

说明:

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

lo:local,本地地址。

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

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

e90e8cd81b6b29847c9e34c3aa26fd0a.png

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

Docker网络常用的命令:

使用命令查看:

docker network ls

36c78ca3986b3a02b540d851c89a7e6f.png

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

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

12b31090dc7f3db952940634a2eda7b8.png

命令:

be593cad518ca1bb976fba904f5cddb9.png image.png

查看命令:

9a278ab12aafa367b9233121376c4132.png

docker网络能干嘛?

e7db4aeae3e538ca2f7e2f34426ac262.png

网络模式

docker网络有以下几种模式:

61a90f13a679b7e656caf4cfd5984a08.png

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

53cf06a4d722f3702d83d4315d62c0b8.png

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

先启动两个ubuntu

4dc2af113b1092a0922a4f49a82bebca.png

查看网络情况:

docker inspect u1

或者只查看倒数20行

docker inspect ul | tail -n 20

a0060106b8c23f3812d39d9331b6f79b.png

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

adca657082f9db5ac57ab62d3ea21df5.png

假设我们把uw rm -f

eac1f25ad8b3409676730713758734fc.png

然后我们在启动一个u3

83ec43d78e0166723f5b97f14fd7b466.png

再来看看U3的ip:

3d88990cb22030686fe8339a93748e9a.png

哇哦!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 网络名称

image.png

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

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

相关文章

  • Docker网络上篇-网络介绍

    通过前面的学习,我们已经可以把自己写的微服务项目通过dockerfile文件方式部署到docker上面了。那么微服...

  • docker网络

    1) Docker本地网络类型 2) Docker跨主机网络介绍 ########################...

  • Docker 网络模式

    docker的网络模式,了解docker的网络模式对docker通信尤为重要。 (一)网络模式介绍 查看显示的三种...

  • Docker网络模型以及容器通信

    本篇接着上篇:【Docker0网络及原理探究】,继续深入探究容器网络通信原理,通过学习Docker网路驱动模型,更...

  • Docker Swarm 入门:Docker Network 基

    文/Anoyi 为了更好的理解如何管理 Docker Swarm 下服务的网络,本文先介绍 Docker 网络的基...

  • 网络爬虫详解:原理、工作流程及爬取策略(二)

    在上篇文章中,企通查以通用网络爬虫和聚焦网络爬虫为主,对网络爬虫的实现原理进行了介绍(上篇内容回顾:网络爬虫详解:...

  • Docker 创建容器时指定容器ip

    在上一篇 《docker 网络(host&none&bridge)》中,我们介绍了docker自带网络的三种模式。...

  • Docker 网络基础介绍

    【编者按】本文作者为 Mesosphere 开发大使 Michael Hausenblas,主要介绍配置 Dock...

  • docker实现redis主从

    实现redis主从之前,介绍docker网络模式docker安装后,默认会创建下面三种网络类型 可以通过 --ne...

  • docker

    docker(dockerfile,镜像库、网络安装部署) 1. Docker介绍 1.1 什么是容器? 1.2 ...

网友评论

    本文标题:Docker网络上篇-网络介绍

    本文链接:https://www.haomeiwen.com/subject/wxrnqdtx.html