当前位置: 首页 > news >正文

Docker的网络模式

Docker常见的几种网络模式

docker network ls 查看使用了哪些网络

[root@centos8-nat-168-182-152 ~]# docker network ls
NETWORK ID     NAME            DRIVER    SCOPE
c0184302f6a8   bridge          bridge    local
420492e04276   host            host      local
fc5e9b954735   none            null      local
[root@centos8-nat-168-182-152 ~]# docker network inspect bridge(网络名称)

我们在使用 docker run 创建 Docker 容器时,可以用 –net 选项指定容器的网络模式,Docker 可以有以下 4 种网络模式:

  • bridge 模式:使用 --net=bridge 指定,默认设置

  • host 模式:使用 --net=host 指定。

  • none 模式:使用 --net=none 指定。

  • container 模式:使用 --net=container:NAME_or_ID 指定。

网络模式含义
Bridge(默认模式)此模式会为每一个容器分配,设置IP等,并将容器连接到一 docker0 虚拟网桥,通过 docker0网桥以及Iptables nat表配置与宿主机通信。
Host容器将不会虚拟出自己的网卡,配置自己的 IP 等,而是使用宿主机的IP和端口
Container创建的容器不会创建自己的网卡,配置自己的IP,而是和一个指定的容器共享 IP,端口范围。
None该模式关闭了容器的网络功能,与宿主机,与其他容器都不连通的.

1.Bridge

Bridge模式是启动容器时的默认模式,当Docker server 启动时,会在主机上创建一个名为 docker0 的虚拟网桥

网桥模式不太适用于生产环境,因为网桥背后涉及很多底层工作,会导致相当大的开销

--icc=false表示把容器之间的通信关闭,--iptables=true --icc=false已连接的容器才能通信

docker inspect jenkins
docker inspect --format='{{.NetworkSettings.NewtWork.IPAddress}}' jenkins

主机网络

在这里插入图片描述

容器内部网络

在这里插入图片描述

2.Host

Host:容器将不会虚拟出自己的网卡,配置自己的 IP 等,而是使用宿主机的IP和端口

不涉及网桥模式中底层开销,因此速度与常规的主机网络一样快,面向外部网络流量大的容器(例如代理和缓存)可以使用主机模式,而其他容器则使用内部网络模式

$ docker inspect jenkins

对比一下宿主机 / etc/hosts,一模一样

$ docker execjenkins cat /etc/hosts
$ cat /etc/hosts

3.Container

container创建的容器不会创建自己的网卡,配置自己的IP,而是和一个指定的容器共享 IP,端口范围

# 创建容器
$ docker run --name=busybox_jenkins --net=container:bridge -td jenkins
# 查看新创建容器的IP,上面这种方式查不出来
$ docker inspect --format='{{.NetworkSettings.IPAddress}}' jenkins
# 通过ifconfig查询ip
$ docker exec busybox_jenkins ifconfig

4.None

$ docker run -dt --net=none --name busybox_jenkins jenkins
# 查看它的网络状态, 验证它仅有 lo 接口,不能与容器外通信
$ docker exec busybox_jenkins ip a

5.Docker实现内外网络通信

ip_forward: linux内核中用于开关内核的报文转发功能,只有这个开关被打开时,内核才会执行报文的转发

默认情况下,容器可以主动访问到外部网络的连接,但是外部网络无法访问到容器

# 临时修改
$ echo 1 >  /proc/sys/net/ipv4/ip_forward
# 永久修改
$ echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
$ sysctl -p

查看默认路由

$ route -n
# 或者
$ ip route

添加路由映射

$ ip route add <container_ip_address> via <host_ip_address> dev <network_interface>

相关文章:

Docker的网络模式

Docker常见的几种网络模式 docker network ls 查看使用了哪些网络 [rootcentos8-nat-168-182-152 ~]# docker network ls NETWORK ID NAME DRIVER SCOPE c0184302f6a8 bridge bridge local 420492e04276 host host local …...

基于vue3.2、three实现地图在地图加载

基于vue3.2、three实现地图在地图加载code效果预览地址code 在这里插入代码片 import { ref, onMounted } from "vue"import * as THREE from "three"; import Earth from "./textures/Earth.png" import EarthSpec from "./textures/Eart…...

【C++】---优先级队列 仿函数

文章目录优先级队列介绍优先级队列使用仿函数优先级队列模拟实现优先级队列介绍 优先队列是一种容器适配器 &#xff0c;它的底层实现是堆&#xff0c;虽然它的名字里面有队列&#xff0c;但它并没有队列先进先出的特性 优先级队列定义在头文件中&#xff0c;其模板参数有三个…...

图的遍历算法

图的遍历1.连通图的深度优先搜索1.1. 递归1.2.非递归2.连通图的广度优先遍历3. 非连通图的深度&#xff08;广度&#xff09;优先遍历1.连通图的深度优先搜索 算法思想&#xff1a;从图中某个顶点vi出发&#xff0c;访问此顶点&#xff0c;然后依次从v1的各个未被访问的邻接点…...

【蓝桥杯集训·每日一题】 AcWing 3996. 涂色

文章目录一、题目1、原题链接2、题目描述二、解题报告1、思路分析2、时间复杂度3、代码详解三、知识风暴区间DPUnique函数一、题目 1、原题链接 3996. 涂色 2、题目描述 有 n 个砖块排成一排&#xff0c;从左到右编号为 1∼n。 其中&#xff0c;第 i 个砖块的初始颜色为 ci。 …...

人工智能中的Web端编程

Java是当前的主流编程语言之一&#xff0c;常年稳居TIOBE编程语言排行榜前五。Java的使用领域非常广泛&#xff0c;包括了桌面端编程、Web端编程、移动端编程等几乎所有的编程领域。Java是Web端编程使用最广泛的编程语言之一。要学习Web端编程&#xff0c;需要了解Java语言的知…...

jsp+mysql+J2EE校园自行车租赁系统cdA1A2程序

本系统的具体功能有以下六项&#xff1a; 1、用户信息管理模块&#xff1a;用户需要注册成为本网站的用户&#xff0c;同时修改自己的用户资料&#xff0c;在必要时修改自己的登陆密码。 2、车辆查询模块:用户可以根据自己的要求&#xff0c;按照不同的查询方式来查询自己想要的…...

当营养遇上肠道菌群:探究其对儿童健康的影响

谷禾健康 越来越多的证据表明&#xff0c;肠道菌群定植紊乱和微生物多样性减少与全球非传染性疾病 (NCD) 的增加有关。影响儿童和青少年的非传染性疾病包括肥胖及其相关合并症、自身免疫性疾病、过敏性疾病和哮喘。饮食变化也与非传染性疾病的发病机制有关&#xff0c;并且由于…...

vue尚品汇商城项目-day01【4.完成非路由组件Header与Footer业务】

文章目录4.完成非路由组件Header与Footer业务4.1使用组件的步骤&#xff08;非路由组件&#xff09;本人其他相关文章链接4.完成非路由组件Header与Footer业务 在咱们项目开发中&#xff0c;不在以HTML CSS 为主&#xff0c;主要搞业务、逻辑 开发项目的流程&#xff1a; (1)…...

IDEA安装教程(图文详解,一步搞定)

文章目录第一步&#xff1a;官网下载IDEA第二步&#xff1a;卸载旧的IDEA&#xff08;没有则跳过&#xff09;第二步&#xff1a;安装IDEA第一步&#xff1a;官网下载IDEA 地址&#xff1a;https://www.jetbrains.com/idea/download/other.html 第二步&#xff1a;卸载旧的I…...

【01 DualCam Porting】

1、配置camera_custom_stero_setting.h a、增加sensor配置 /vendor/mediatek/proprietary/custom/mt6765/hal/camera/camera_custom_stereo_setting.h注意: 1)IMGOYUV Size:在有FOV crop的情况下,不能配置为sensor full size,建议比full size 小或者配置为fov crop的值…...

redis --- string类型的使用

目录 一、string类型使用 1.1、set key value参数解析 1.2、同时设置/获取多个键值 1.3、获取/设置指定区间范围内的值 1.4、数值增减 1.5、获取字符串长度和内容追加 1.6、分布式锁 1.7、getset(先get再set) 一、string类型使用 1.1、set key value参数解析 SET key v…...

康耐视visionpro-机器视觉定位引导-经验总结-来自视觉人粉丝分享

1、机器人吸取电路板&#xff0c;移动到拍照位置&#xff0c;并在电路板上找一个标记点&#xff0c;并且&#xff0c;通过机器人示教把当前电路板能够准确的放入到目标位置。 2、机器人吸取电路板吸取电路板&#xff0c;在x,y方向进行移动&#xff0c;总共移动4个位置&#xff…...

包管理工具npm

一&#xff1a;package.json 在某个文件路径下&#xff0c;执行 npm init。就会生成package.json文件。大致如下&#xff1a; {"name": "test","version": "1.0.0","description": "测试","main": &q…...

ChatGPT正进军各行各业,抓住机遇,拥有无限的可能性。

每一个新技术的出现都会对各行各业产生冲击&#xff0c;但关键在于如何抓住这个机遇。ChatGPT是一项非常具有前途的技术&#xff0c;它可以在许多领域为人们提供更好的服务和体验。这项技术的优势之一是它可以快速而准确地理解和解释自然语言&#xff0c;从而使人们可以更轻松地…...

Maven 多模块管理

多模块管理简单地理解就是一个 Java 工程项目中不止有一个 pom.xml 文件&#xff0c;会在不同的目录中有多个这样的文件&#xff0c;进而实现 Maven 的多模块管理 在多人使用Maven协作开发项目时&#xff0c;尤其是稍微上点规模的项目&#xff0c;每个RD的工作都细分到具体功能…...

crash 内核调试工具 ps 指令 显示的进程状态 RU, IN, UN, ZO, ST, TR, DE, SW, WA, PA 什么意思

crash> help ps | grep "the task state" 5. the task state (RU, IN, UN, ZO ,ST, TR, DE, SW, WA, PA, ID, NE) 参考linux-4.19.113内核源码&#xff08;include/linux/sched.h&#xff09;&#xff0c;有如下定义 /** Task state bitmask. NOTE! These bits…...

Spring《二》bean的实例化与生命周期

&#x1f34e;道阻且长&#xff0c;行则将至。&#x1f353; 上一篇&#xff1a;Spring《一》快速入门 下一篇&#xff1a;Spring《三》DI依赖注入 目录一、bean实例化&#x1f34d;1.构造方法 ***2.静态工厂 *使用工厂创建对象实例化bean3.实例工厂 ***使用示例工厂创建对象实…...

java与kotlin 写法区别

原文链接&#xff1a;https://gitcode.net/mirrors/mindorksopensource/from-java-to-kotlin?utm_sourcecsdn_github_accelerator#assigning-the-null-value Print to Console 打印到控制台 Java System.out.print("Amit Shekhar"); System.out.println("Amit…...

服务器运行深度学习代码使用指南

该内容配置均在九天毕昇下配置。 当前系统使用的linux版本为&#xff1a;Ubuntu 18.04 LTS。 当前版本安装的是&#xff1a;cuda10.1。 九天毕昇平台&#xff1a;https://jiutian.10086.cn/edu/#/home 一、linux下运行python的操作 ls 为列出当前目录中的文件 cd 文件名 进入…...

QMC5883L的驱动

简介 本篇文章的代码已经上传到了github上面&#xff0c;开源代码 作为一个电子罗盘模块&#xff0c;我们可以通过I2C从中获取偏航角yaw&#xff0c;相对于六轴陀螺仪的yaw&#xff0c;qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...

vue3 定时器-定义全局方法 vue+ts

1.创建ts文件 路径&#xff1a;src/utils/timer.ts 完整代码&#xff1a; import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...

【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)

升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点&#xff0c;但无自动故障转移能力&#xff0c;Master宕机后需人工切换&#xff0c;期间消息可能无法读取。Slave仅存储数据&#xff0c;无法主动升级为Master响应请求&#xff…...

管理学院权限管理系统开发总结

文章目录 &#x1f393; 管理学院权限管理系统开发总结 - 现代化Web应用实践之路&#x1f4dd; 项目概述&#x1f3d7;️ 技术架构设计后端技术栈前端技术栈 &#x1f4a1; 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 &#x1f5c4;️ 数据库设…...

Python Einops库:深度学习中的张量操作革命

Einops&#xff08;爱因斯坦操作库&#xff09;就像给张量操作戴上了一副"语义眼镜"——让你用人类能理解的方式告诉计算机如何操作多维数组。这个基于爱因斯坦求和约定的库&#xff0c;用类似自然语言的表达式替代了晦涩的API调用&#xff0c;彻底改变了深度学习工程…...

Kafka主题运维全指南:从基础配置到故障处理

#作者&#xff1a;张桐瑞 文章目录 主题日常管理1. 修改主题分区。2. 修改主题级别参数。3. 变更副本数。4. 修改主题限速。5.主题分区迁移。6. 常见主题错误处理常见错误1&#xff1a;主题删除失败。常见错误2&#xff1a;__consumer_offsets占用太多的磁盘。 主题日常管理 …...

rknn toolkit2搭建和推理

安装Miniconda Miniconda - Anaconda Miniconda 选择一个 新的 版本 &#xff0c;不用和RKNN的python版本保持一致 使用 ./xxx.sh进行安装 下面配置一下载源 # 清华大学源&#xff08;最常用&#xff09; conda config --add channels https://mirrors.tuna.tsinghua.edu.cn…...

书籍“之“字形打印矩阵(8)0609

题目 给定一个矩阵matrix&#xff0c;按照"之"字形的方式打印这个矩阵&#xff0c;例如&#xff1a; 1 2 3 4 5 6 7 8 9 10 11 12 ”之“字形打印的结果为&#xff1a;1&#xff0c;…...

高抗扰度汽车光耦合器的特性

晶台光电推出的125℃光耦合器系列产品&#xff08;包括KL357NU、KL3H7U和KL817U&#xff09;&#xff0c;专为高温环境下的汽车应用设计&#xff0c;具备以下核心优势和技术特点&#xff1a; 一、技术特性分析 高温稳定性 采用先进的LED技术和优化的IC设计&#xff0c;确保在…...

SQL注入篇-sqlmap的配置和使用

在之前的皮卡丘靶场第五期SQL注入的内容中我们谈到了sqlmap&#xff0c;但是由于很多朋友看不了解命令行格式&#xff0c;所以是纯手动获取数据库信息的 接下来我们就用sqlmap来进行皮卡丘靶场的sql注入学习&#xff0c;链接&#xff1a;https://wwhc.lanzoue.com/ifJY32ybh6vc…...