【Docker】Docker高级网络(NetWork)

这篇具有很好参考价值的文章主要介绍了【Docker】Docker高级网络(NetWork)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【Docker】Docker高级网络(NetWork)


参考文档:高级网络配置 · Docker – 从入门到实践 (docker-practice.github.io)

1. 概述

当 Docker 启动时,会自动在主机上创建一个 docker0 虚拟网桥,实际上是 Linux 的一个 bridge,可以理解为一个软件交换机。它会在挂载到它的网口之间进行转发。

同时,Docker 随机分配一个本地未占用的私有网段(在 RFC1918 中定义)中的一个地址给 docker0 接口。比如典型的 172.17.42.1,掩码为 255.255.0.0。此后启动的容器内的网口也会自动分配一个同一网段(172.17.0.0/16)的地址。

当创建一个 Docker 容器的时候,同时会创建了一对 veth pair 接口(当数据包发送到一个接口时,另外一个接口也可以收到相同的数据包)。这对接口一端在容器内,即 eth0;另一端在本地并被挂载到 docker0 网桥,名称以 veth 开头(例如 vethAQI2QT)。通过这种方式,主机可以跟容器通信,容器之间也可以相互通信。Docker 就创建了在主机和所有容器之间一个虚拟共享网络。

【Docker】Docker高级网络(NetWork),中间件,docker,网络,容器

注意:

  • 默认 docker 在创建容器时将所有容器都连接到 docker0 网桥上,默认在 docker0 网桥的容器都可以使用容器内ip地址进行通信。
  • 容器间还可以使用容器容器名称作为容器ip进行通信,前提是必须使用自定义的网桥,不能使用默认的 docker0

2. 网络

2.1 网桥类型

docker中网桥有四种类型:

  1. **Bridge **:桥接式网络模式 (默认)
  2. Host:开放式网络模式,和宿主机共享网络
  3. Container:联合挂载式网络模式,和其他容器共享网络
  4. None:封闭式网络模式,不为容器配置网络

2.2 创建网络自定义桥

首先查看有关于网络的docker命令参数:

docker network --help

【Docker】Docker高级网络(NetWork),中间件,docker,网络,容器

查看创建网桥的命令行参数:

docker network create --help

【Docker】Docker高级网络(NetWork),中间件,docker,网络,容器

参数含义:

  • -d:指定网桥类型,默认是 bridge

创建一个名为 test 的网桥:

docker network create -d bridge test

【Docker】Docker高级网络(NetWork),中间件,docker,网络,容器


2.3 查看所有网络

docker network ls

【Docker】Docker高级网络(NetWork),中间件,docker,网络,容器


2.4 查看特定网络的细节

查看名为 heima 的网络细节:

docker network inspect heima 

2.5 删除特定网络

删除名为 test 的网络:

docker network rm test

删除完毕,查看该网络是否还存在,发现确实已经删除。如图所示:

【Docker】Docker高级网络(NetWork),中间件,docker,网络,容器


2.6 多个容器使用指定网络

1)启动容器时明确指定容器使用哪个网络名

docker run -d --network 网络名 ...

2)启动之后把容器加入到某个网络文章来源地址https://www.toymoban.com/news/detail-569194.html

docker network connect 网络名 容器id(name)

到了这里,关于【Docker】Docker高级网络(NetWork)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Docker中安装常用的中间件全过程

     从Nacos2.0.0开始,需要多开放两个个 9848、9849 端口,以应对gRPC的通信方式,如果不开放绑定,那么客户端微服务无法注册到Nacos,会直接报错。Client not connected, current status:STARTING Nacos数据持久化 1、新建Nacos配置数据库,取名为nacos-config,并为该数据库设置允许远程访问权限

    2024年02月10日
    浏览(74)
  • Ubuntu配置基本环境以及docker安装基本中间件

    提示:ip地址请改为自己的本地ip 为了安全性,建议都给一些中间件设置密码(本文也会教大家如何设置密码) 此处如果安装失败,apt要换源。 docker版本为24.0.2 首先,更新软件包索引,并且安装必要的依赖软件,来添加一个新的 HTTPS 软件源: 使用下面的 curl 导入源仓库的

    2024年02月01日
    浏览(43)
  • 消息队列中间件 - Docker安装RabbitMQ、AMQP协议、和主要角色

    不管是微服务还是分布式的系统架构中,消息队列中间件都是不可缺少的一个重要环节,主流的消息队列中间件有RabbitMQ、RocketMQ等等,从这篇开始详细介绍以RabbitMQ为代表的消息队列中间件。 AMQP协议 AMQP协议是一个提供统一消息服务的应用层标准协议,基于此协议的客户端与

    2024年02月03日
    浏览(38)
  • 【中间件】通过 docker-compose 快速部署 Kafka 保姆级教程

    Kafka是由Apache基金会开发的分布式流处理平台,采用发布-订阅模式,支持高吞吐量、低延迟的数据传输。主要用于处理实时数据管道、数据存储和数据分析等大数据应用场景。Kafka采用高效的数据压缩算法,可以在集群中存储大量的数据,并通过分区机制来实现数据的高可靠

    2024年02月12日
    浏览(37)
  • docker 安装 mysql、redis、rabbitmq、RocketMQ、Nacos 等中间件

    docker 用宝塔进行管理比较方便,如果想外部访问,一定要用宝塔在安全那里打开对应端口 使用 宝塔 直接安装即可 注意:mysql这样是没办法进行外部链接的还需要一步打开外部链接操作。 需要在进入 mysql 的bash之后进行操作:具体操作 通过简易版方式安装,主打的就是有问

    2024年01月21日
    浏览(45)
  • 中间件安全-CVE 复现&K8s&Docker&Jetty&Websphere漏洞复现

    中间件及框架列表: IIS,Apache,Nginx,Tomcat,Docker,K8s,Weblogic,JBoos,WebSphere,Jenkins ,GlassFish,Jetty,Jira,Struts2,Laravel,Solr,Shiro,Thinkphp,Spring,Flask,jQuery 等。 中间件所披露的问题: 中间件安全-IISApacheTomcatNginx漏洞复现 中间件安全-WeblogicJenkinsGlassFish漏洞复现 1、中间

    2024年02月08日
    浏览(38)
  • Django高级扩展之中间件

    中间件是Django请求/响应处理的钩子框架。它是一个轻量级的、低级的“插件”系统,用于全局改变Django的输入或输出。每个中间件组件负责实现一些特定的功能。例如,Django包含一个中间件组件AuthenticationMiddleware,它使用会话将用户与请求关联起来。 目录 方法介绍 __init

    2024年02月10日
    浏览(34)
  • 基于 Docker 的 Spring Boot 项目部署演示,其中使用了 Redis、MySQL 和 RabbitMQ 中间件

    这是一个基于 Docker 的 Spring Boot 项目部署演示,其中使用了 Redis、MySQL 和 RabbitMQ 中间件。 拉取 MySQL 镜像: 创建 MySQL 容器: 将 密码 、 数据库名 、 用户名 和 密码 替换为您自己的值。 拉取 Redis 镜像: 创建 Redis 容器: 拉取 RabbitMQ 镜像: 创建 RabbitMQ 容器: 构建和运行

    2024年02月06日
    浏览(46)
  • 系统架构设计高级技能 · 构件与中间件技术

    点击进入系列文章目录 现在的一切都是为将来的梦想编织翅膀,让梦想在现实中展翅高飞。 Now everything is for the future of dream weaving wings, let the dream fly in reality. 定义1: 软件构件是一种组装单元,它具有规范的接口规约和显式的语境依赖。软件构件可以被独立地部署并由第三方

    2024年02月07日
    浏览(52)
  • 【Node.js从基础到高级运用】十三、NodeJS中间件高级应用

    在现代web开发中,Node.js因其高效和灵活性而备受青睐。其中,中间件的概念是构建高效Node.js应用的关键。在这篇博客文章中,我们将深入探讨Node.js中间件的高级应用,包括创建自定义中间件、使用第三方中间件等。我们将从基础讲起,逐步深入,旨在为读者提供全面而深入

    2024年03月22日
    浏览(84)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包