13.docker的网络模式-自定义网络

1. 为什么要使用自定义网络

前面默认的bridge模式,可以实现容器与宿主机,容器与容器之前的互通,但是容器一旦删除,它的ip就会变化,所以并不是很好用。为了解决这个问题,我们当时想了,如果能用容器名来访问就好了,那么自定义网络就能解决这个问题。

2. 创建自定义网络

我们先查看一下当前docker的网络信息:

docker network ls

在这里插入图片描述
创建一个自定义网络 net_1:

docker network create net_1

在这里插入图片描述
我们查看一下这个网络:

docker network inspect net_1

在这里插入图片描述
我们再看一下宿主机的网络信息:
在这里插入图片描述
我们看到,宿主机多了一个br-058adb395d8b,它和自定义的docker网络属于同一个网段,并且也是bridge模式。因为这里使用了bridge模式,所以容器与容器之间,容器与宿主机之间是可以连通的(注意:这是说的是同一个自定义网络容器,使用自定义网络或者使用不同自定义网络的容器之间的ip是无法ping通的)

3. 运行容器时使用自定义网络

创建使用自定义网络的容器t1

docker run -d -p 8091:8080  --network net_1 --name t1 f014789eac58

创建使用自定义网络的容器2

docker run -d -p 8092:8080  --network net_1 --name t2 f014789eac58

在这里插入图片描述
那我们试下容器之间使用容器名称是否能够ping通
t1 ping t2

docker exec -it t1 ping t2

在这里插入图片描述
t2 ping t1

docker exec -it t2 ping t1

在这里插入图片描述
惊喜吧,容器之前使用容器名称是可以ping通的哦。

4. 原理

我们已经使用自定义网络启动了两个容器,分别是t1和t2,那我们再查看一下自定义网络net_1的信息:

docker network inpect net_1

在这里插入图片描述
在这里插入图片描述
我们可以看到,在Containers下,自定义网络已经为我们维护好了容器间对应的关系,所以我们推荐使用自定义网络来处理容器之间的网络问题,这样保证保证不同的集群使用不同的网络,保证集群是安全和健康的。

5. 默认bridge和自定义网络容器怎么连通?

我们以默认docker0再创建两个容器,t3 和 t4:

docker run -d -p 8083:8080 --name t3 f014789eac58
docker run -d -p 8084:8080 --name t4 f014789eac58

在这里插入图片描述
首先我们试一下,t3能否用容器名ping通t2

docker exec -it t3 ping t2

在这里插入图片描述
果不其然,是ping不通的。那怎么才能ping通呢?
这里我们使用docker network connect来实现不通网络下的容器的连通。

docker network connect net_1 t3
docker network connect net_1 t4

我们再查看一下自定义网络:

docker network inspect net_1

在这里插入图片描述
在这里插入图片描述
我们惊奇的发现,Containers增加了t3和t4的网络配置,并且给他们增加了
172.18.0的网段,使得四个容器在一个网段呢。此时我们再试一下t3和t2是否能够ping通。

docker exec -it t3 ping t2

在这里插入图片描述

docker exec -it t2 ping t3

在这里插入图片描述
就问你牛不牛,竟然真的能互相ping通。我们再查看下容器t3的网络:

docker exec -it t3 ip addr

在这里插入图片描述
这个容器竟然又多个一个ip:172.18.0.4/16,一个容器,多个ip。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/186372.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

经典的回溯算法题leetcode棋盘问题思路代码详解

目录 棋盘问题 leetcode51题.N皇后 对回溯算法感兴趣的朋友也可以多多支持一下我的其他文章。 回溯算法详解-CSDN博客 经典的回溯算法题leetcode组合问题整理及思路代码详解-CSDN博客 经典的回溯算法题leetcode子集问题思路代码详解-CSDN博客 经典的回溯算法题leetcode全…

​LeetCode解法汇总2304. 网格中的最小路径代价

目录链接: 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目: https://github.com/September26/java-algorithms 原题链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 描述: 给你一个下…

Tars-GO 开发

默认环境是安装好的 创建服务: tarsgo make App Server Servant GoModuleName Tars 实例的名称,有三个层级,分别是 App(应用)、Server(服务)、Servant(服务者,有时也称 Object&am…

centos 7.9 下利用miniconda里的pyinstaller打包python程序为二进制文件操作方法

centos 7.9 下利用miniconda里的pyinstaller打包python程序为二进制文件操作方法 一.centos 7.9 操作系统安装 参考:https://blog.csdn.net/qq_46015509/article/details/134572030?utm_sourceminiapp_weixin 安装完成后用后台连接工具连上虚拟机 二.安装python3 …

AI动画制作 StableDiffusion

1.brew -v 2.安装爬虫项目包所必需的python和git等系列系统支持部件 brew install cmake protobuf rust python3.10 git wget pod --version brew link --overwrite cocoapods 3.从github网站克隆stable-diffusion-webui爬虫项目包至本地 ssh-add /Users/haijunyan/.ssh/id_rs…

Spring原理——基于xml配置文件创建IOC容器的过程

Spring框架的核心之一是IOC,那么我们是怎么创建出来的Bean呢? 作者进行了简单的总结,希望能对你有所帮助。 IOC的创建并不是通过new而是利用了java的反射机制,利用了newInstance方法进行的创建对象。 首先,我们先定义…

亚马逊云科技re:Invent大会:云计算与生成式AI共筑科技新局面,携手构建未来

随着科技的飞速发展,云计算和生成式 AI 已经成为了推动科技进步的重要力量。这两者相互结合,正在为我们创造一个全新的科技局面。 亚马逊云科技的re:Invent大会再次证明了云计算和生成式AI的强大结合正在塑造科技的新未来。这次大会聚焦了云计算的前沿技…

【阿里云服务器】2023安装宝塔面板8.0.4

文章目录 前言安装宝塔远程链接服务器输入安装宝塔命令放行宝塔端口 一键安装环境附录重装系统Linux系统卸载宝塔方式一方式二 遇见的问题 前言 镜像是CentOS 7.9.4 安装宝塔 远程链接服务器 输入安装宝塔命令 yum install -y wget && wget -O install.sh https://…

计算机毕业设计 基于SpringBoot的无人智慧超市管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解+答疑

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…

基于战争策略算法优化概率神经网络PNN的分类预测 - 附代码

基于战争策略算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于战争策略算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于战争策略优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要:针对PNN神…

uniapp视频倍速播放插件,uniapp视频试看插件——sunny-video使用文档

sunny-video视频倍速播放器 组件名:sunny-video 效果图 img1img2img3img4 平台差异说明 目前已应用到APP(安卓、iOS)、微信(小程序、H5)其它平台未测试 安装方式 本组件符合easycom规范,HBuilderX 2.5…

网络安全—自学

1.网络安全是什么 网络安全可以基于攻击和防御视角来分类,我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术,而“蓝队”、“安全运营”、“安全运维”则研究防御技术。 2.网络安全市场 一、是市场需求量高; 二、则是发展相对成熟…

LangChain 9 模型Model I/O 聊天提示词ChatPromptTemplate, 少量样本提示词FewShotPrompt

LangChain系列文章 LangChain 实现给动物取名字,LangChain 2模块化prompt template并用streamlit生成网站 实现给动物取名字LangChain 3使用Agent访问Wikipedia和llm-math计算狗的平均年龄LangChain 4用向量数据库Faiss存储,读取YouTube的视频文本搜索I…

【XSLVGL2.0】如何新增一种语言和词条

XSLVGL2.0 开发手册 【XSLVGL2.0】如何新增一种语言和词条 1、概述2、以外置资源的方式增加词条3、以内置资源的方式增加词条4、使用方法1、概述 本文件旨在介绍新增一种语言词条的方法 2、以外置资源的方式增加词条 假设项目需要增加一种英文的词条。一般地,我们采用国际…

关闭vscode打开的本地服务器端口

vscode开了本地的一个端口“8443”当本地服务器端口,然后随手把VScode一关,后来继续做发现8443端口已经被占用了。   原来,即便关闭了编译器VScode,服务器依然是被node.exe运行着的。那这个端口怎么才能关掉呢?   …

浅析linux中的信号

人们往往将信号称为“软件中断”,它提供了异步事件的处理机制,这些事件可以来自系统外部(如用户按下ctrlc产生中断符),也可能来自程序或者内核内部的执行动作(如进程除零操作)。进程收到信号&am…

CSS:浏览器设置placeholder样式 / 微信小程序设置placeholder样式

一、web 设置placeholder 设置浏览器的placeholder样式 ::-webkit-input-placeholder { /* WebKit browsers */color: #999; } :-moz-placeholder { /* Mozilla Firefox 4 to 18 */color: #999; } ::-moz-placeholder { /* Mozilla Firefox 19 */color: #999; } :-ms-input-p…

学习视频剪辑方法:AI智剪助力,批量处理短视频无忧

随着短视频的兴起,越来越多的人开始关注如何有效地制作和发布这些内容。但是,短视频的制作并不容易,要耗费大量的时间和精力。现在有很多AI智能剪辑工具可以快速、高效地制作短视频。其中,AI智剪是一款非常受欢迎的视频剪辑功能&a…

【Linux】fork()

文章目录 一、fork()是什么?二、fork()干了什么?三、fork()怎么用? 一、fork()是什么? fork()函数其实是在Linux系统中用于创建一个新的进程。让我们看看Linux中是怎么描述的?运行man fork。 RETURN VALUE On success…