【Docker】Docker网络模式

1、概述

  • docker run创建Docker容器时,可以用–net选项指定容器的网络模式,Docker有以下4种网络模式:
  • bridge模式:使--net =bridge指定,默认设置;
  • host模式:使--net =host指定;
  • none模式:使--net =none指定;
  • container模式:使--net =container:NAMEorID指定。
  • 可以使用docker network ls来查看

2、bridge模式

  • Bridge模式(桥接模式)
    • 描述:这是Docker的默认网络模式。当Docker安装并启动时,它会在宿主主机上创建一个名为docker0的虚拟网桥,后续每创建一个新的Docker容器(除非特别指定),Docker都会通过docker0与主机的网络连接。
    • 特点
      • 容器内部都会有一个虚拟网卡,名为eth0
      • 容器之间可以通过容器内部的IP相互通信。
      • 网桥默认IP范围通常是172.17.x.x
    • 命令示例docker run -d --name tomcat01 -p 8085:80 tomcat:latest(注意:--net=bridge可省略)

3、host模式

  • Host模式
    • 描述:容器不会拥有一个独立的network namespace,而是与宿主主机共用同一个network namespace。
    • 特点
      • 容器没有自己的网卡信息,而是直接使用宿主主机的网络信息。
      • 容器和宿主主机共享Network namespace,因此可能会出现端口冲突的情况。
    • 命令示例docker run -d --name tomcat02 --net=host tomcat:latest

4、container模式

  • Container模式
    • 描述:container模式与host模式类似,但container模式是与指定的容器共享network namespace,而不是与宿主主机共享。
    • 特点
      • 除了网络共享(网卡、主机名、IP地址)外,其他方面还是隔离的。
    • 命令示例docker run -d --name tomcat03 --net=container:tomcat02 tomcat:latest(这里tomcat02是另一个容器的名称或ID)

5、none模式

  • None模式
    • 描述:如果Docker容器指定的网络模式为none,则该容器没有办法联网,外界也无法访问它。
    • 特点
      • 容器内部没有网卡、IP等信息。
      • 主要用于测试场景。
    • 命令示例docker run -d --name tomcat04 --net=none tomcat:latest

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端技术栈学习:Vue2、Vue cli脚手架、ElementUI组件库、Axios

1 基本介绍 (1)Vue 是一个前端框架, 易于构建用户界面 (2)Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或项目整合 (3)支持和其它类库结合使用 (4&#…

期末复习题中的问题

一、编程中(包括函数)的问题 1. malloc 头文件是stdlib.h 二、第二次写复习题的不会的 三、程序填空 总结: 删除节点m >>>>要有一个指针来遍历找到这个m >>>> 用另一个指针指向这个指针的下一 个 >>&…

达梦(DM8)数据库备份与还原(逻辑备份)一

一、达梦数据库的逻辑备份分四种级别的导出(dexp)与导入(dimp)的备份 第一种是:数据库级:导出或导入数据库中所有的对象。主要参数是:FULL 第二种是:用户级别:导出或导…

小程序的生命周期使用方法和应用场景

小程序生命周期 初始化(App Launch) • 触发时机:小程序首次启动时。 • 主要事件:onLaunch。 • 功能与适用场景: • 全局数据初始化:设置应用的全局状态和变量。 • 登录状态检查:判断用户是…

FastAPI 表单数据

FastAPI 表单数据 FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,与 Python 3.6+ 类型提示一起使用。它是一个轻量级的框架,但功能强大,能够处理各种类型的请求数据,包括 JSON、表单数据和文件等。在本文中,我们将重点讨论如何在 FastAPI 中处理表单数据…

vue+go实现web端连接Linux终端

vuego实现web端连接Linux终端 实现效果 实现逻辑1——vue 依赖包 "xterm": "^5.3.0","xterm-addon-attach": "^0.9.0","xterm-addon-fit": "^0.8.0"样式和代码逻辑 <template><a-modalv-model:visib…

FileNotFoundError: Cannot find DGL C++ graphbolt library at ...

FileNotFoundError: Cannot find DGL C graphbolt library at ...-CSDN博客https://blog.csdn.net/weixin_44017989/article/details/137658749

k8s手撕架构图+详解

“如果您在解决类似问题时也遇到了困难&#xff0c;希望我的经验分享对您有所帮助。如果您有任何疑问或者想分享您的经历&#xff0c;欢迎在评论区留言&#xff0c;我们可以一起探讨解决方案。祝您在编程路上顺利前行&#xff0c;不断突破技术的难关&#xff0c;感谢您的阅读&a…

【LeetCode】一、数组相关(双指针算法 + 置换)

文章目录 1、算法复杂度1.1 时间复杂度1.2 空间复杂度 2、数组3、leetcode485&#xff1a;最大连续1的个数4、leetcode283&#xff1a;移动05、leetcode27&#xff1a;移除元素 1、算法复杂度 1.1 时间复杂度 算法的执行时间与输入值之间的关系&#xff08;看代码实际总行数的…

Angular 指令

Angular 指令是 Angular 框架中的一项核心功能&#xff0c;它允许开发人员扩展 HTML 的功能&#xff0c;并创建可复用的组件和行为。以下是一些常见的 Angular 指令&#xff1a; 1. 组件指令 (Component Directives) 组件指令是最常用的一种指令&#xff0c;用于创建可复用的 U…

NineData和华为云在一起!提供一站式智能数据库DevOps平台

以GuassDB数据库为底座 NineData和华为云一起 为企业提供 一站式智能数据库DevOps平台 帮助开发者 高效、安全地完成 数据库SQL审核 访问控制、敏感数据保护等 日常数据库相关开发任务 NineData 智能数据管理平台 NineData 作为新一代的云原生智能数据管理平台&#xf…

const data = this.info为什么修改data时this.info也跟着变?

const data this.info 这种情况是data和this.info指向了同一个对象&#xff0c;只是将 this.info 的引用赋值给了 data &#xff08;可以理解为指向同一个地址&#xff09;也就是说如果修改 data 对象的属性或内容&#xff0c;那么 this.info 也会反映出这些变化。 原始类型&…

Manjaro Linux系统简介和archlinux哲学

## Manjaro Linux系统简介 Manjaro Linux是一个基于Arch Linux的操作系统&#xff0c;以其用户友好性和滚动更新机制而受到广泛欢迎。它为用户提供了一个易于安装和使用的平台&#xff0c;同时保持了Linux系统的高度定制性和最新的软件特性。 ### Manjaro Linux与Arch Linux的…

HSRP热备份路由协议(VRRP虚拟路由冗余协议)配置以及实现负载均衡

1、相关原理 在网络中&#xff0c;如果一台作为默认网关的三层交换机或者路由器损坏&#xff0c;所有使用该网关为下一跳的主机通信必然中断&#xff0c;即使配置多个默认网关&#xff0c;在不重启终端的情况下&#xff0c;也不能彻底换到新网关。Cisco提出了HSRP热备份路由协…

golang学习笔记——接口经典面试题 value receivers与pointer receiver

下面的代码是一个比较好的面试题 请问下面的代码是否能通过编译&#xff1f; package mainimport "fmt"type People interface {Speak(string) string }type Student struct{}func (stu *Student) Speak(think string) (talk string) {if think "sb" {t…

如何删除掉MySQL的多余的实例

删除 MySQL 的多余实例通常意味着我们希望卸载或停止某个 MySQL 服务器实例&#xff0c;并从系统中完全移除它。这通常涉及到几个步骤&#xff0c;包括但不限于停止服务、删除数据目录、卸载软件(如果适用)等。 1.基于 Linux 的系统上删除 MySQL 的多余实例 以下是一个详细的步…

运算符重载详解(完全版)

1.运算符重载 C为了增强代码的可读性引入了运算符重载&#xff0c;运算符重载是具有特殊函数名的函数&#xff0c;也具有其返回值类型&#xff0c;函数名字和参数列表&#xff0c;其返回值类型与参数列表都与普通的函数类似 函数名&#xff1a;关键字operator后面接需要重载的…

Interview preparation--Elasticsearch写入原理与调优

ES的写入过程 ES支持的写操作 create&#xff1a; create操作不同于put操作&#xff0c;put操作的时候如果当前put的数据存在则会被覆盖&#xff0c;如果put操作的时候加上操作类型create&#xff0c;如果数据存在则会返回失败&#xff0c;比如&#xff1a;PUT /pruduct/_cre…

【C/C++】告警及报错问题收集

告警及报错问题收集 1 warning 1.1 backslash and newline separated by space 原因&#xff1a;宏定义分行时&#xff0c;后不要有空格 2 error

Ubuntu20.04安装python2和python3及版本配置

Ubuntu20.04安装python2和python3及版本配置_ubuntu 20.04 python3-CSDN博客https://blog.csdn.net/pangc2014/article/details/117407413 >>>ubuntu 安装源码python2_mob649e8161c39d的技术博客_51CTO博客https://blog.51cto.com/u_16175489/7327966