【Docker】Docker高级网络(NetWork)

【Docker】Docker高级网络(NetWork)

文章目录

  • 【Docker】Docker高级网络(NetWork)
    • 1. 概述
    • 2. 网络
      • 2.1 网桥类型
      • 2.2 创建网络自定义桥
      • 2.3 查看所有网络
      • 2.4 查看特定网络的细节
      • 2.5 删除特定网络
      • 2.6 多个容器使用指定网络

参考文档:高级网络配置 · 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 在创建容器时将所有容器都连接到 docker0 网桥上,默认在 docker0 网桥的容器都可以使用容器内ip地址进行通信。
  • 容器间还可以使用容器容器名称作为容器ip进行通信,前提是必须使用自定义的网桥,不能使用默认的 docker0

2. 网络

2.1 网桥类型

docker中网桥有四种类型:

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

2.2 创建网络自定义桥

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

docker network --help

image-20230714165330498

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

docker network create --help

image-20230714165413184

参数含义:

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

创建一个名为 test 的网桥:

docker network create -d bridge test

image-20230714165724990


2.3 查看所有网络

docker network ls

image-20230714165928694


2.4 查看特定网络的细节

查看名为 heima 的网络细节:

docker network inspect heima 
image-20230714170129217

2.5 删除特定网络

删除名为 test 的网络:

docker network rm test

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

image-20230714170326015


2.6 多个容器使用指定网络

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

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

2)启动之后把容器加入到某个网络

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

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

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

相关文章

[论文分享]MR-MAE:重构前的模拟:用特征模拟增强屏蔽自动编码器

论文题目:Mimic before Reconstruct: Enhancing Masked Autoencoders with Feature Mimicking 论文地址:https://arxiv.org/abs/2303.05475 代码地址:https://github.com/Alpha-VL/ConvMAE(好像并未更新为MR-MAE模型) …

nginx部署vue项目

nginx部署vue项目 一. vue配置讲解二. Nginx配置讲解三. vue项目部署到nginx 一. vue配置讲解 在vue.config.js文件中,module.exports是配置路由转发的,几个重要的属性讲解 ① publicPath publicPath: /ulane/, 此属性配置上,如果访问的路…

耳夹式骨传导耳机哪个牌子好?耳夹骨传导耳机盘点!

随着科技的日新月异,耳夹式骨传导耳机也在不断更新换代。市场上涌现出许多品牌,这使得消费者在购买时感到困惑。别担心!我们为你整理了一些市场上口碑和销量优秀的品牌和耳夹式骨传导耳机产品,希望能帮到你。 一:南卡…

苹果iOS App Store上架操作流程详解:从开发者账号到应用发布

很多开发者在开发完iOS APP、进行内测后,下一步就面临上架App Store,不过也有很多同学对APP上架App Store的流程不太了解,下面我们来说一下iOS APP上架App Store的具体流程,如有未涉及到的部分,大家可以及时咨询&#…

​python接口自动化(二十八)--html测试 报告——下(详解) ​

简介 五一小长假已经结束了,想必大家都吃饱喝足玩好了,那就继续学习吧。一天不学习,自己知道;两天不学习,对手知道;三天不学习,大家知道;一周不学习,智商输给猪。好了开个…

【架构设计】高并发架构实战:从需求分析到系统设计

写在前面 很多软件工程师的职业规划是成为架构师,但是要成为架构师很多时候要求先有架构设计经验,而不做架构师又怎么会有架构设计经验呢?那么要如何获得架构设计经验呢? 1 高并发是什么 高并发是指系统在同一时间内处理的请求量…

js判断两个数组是增加还是删除

JS判断两个数组的数据&#xff0c;增加的数据以及删除的数据。 // 第一个参数是新数组&#xff0c;第二个参数是旧数 const compareArrays function(arr1, arr2 ) {let remove []let add []// 旧数据循环for (let i 0; i < arr2.length; i) {let item arr2[i];if (arr…

数字 IC 设计职位经典笔/面试题(二)

共100道经典笔试、面试题目&#xff08;文末可全领&#xff09; FPGA 中可以综合实现为 RAM/ROM/CAM 的三种资源及其注意事项&#xff1f; 三种资源&#xff1a;BLOCK RAM&#xff0c;触发器&#xff08;FF&#xff09;&#xff0c;查找表&#xff08;LUT&#xff09;&#xf…

SQLSERVER 居然也能调 C# 代码 ?

一&#xff1a;背景 1. 讲故事 前些天看到一个奇怪的 Function 函数&#xff0c;调用的是 C# 链接库中的一个 UserLogin 方法&#xff0c;参考代码如下&#xff1a; CREATE FUNCTION dbo.clr_UserLogin (name AS NVARCHAR(100),password AS NVARCHAR(100) ) RETURNS INT A…

命令行系列:windows cmd官方文档

官方文档 和java开发、Android开发一样。cmd也有官方文档&#xff1a; https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/windows-commands 如下图&#xff0c;我们可以看到经典的cd,clean命令。 cd命令的全程是什么&#xff1f; cd命令…

查看域名的ip地址

1."winr" -- ping www.baidu.com 2."nslookup www.baidu.com"

java ajax

1.ajax定义:异步刷新技术 2.ajax语法 3.ajax实战 在不需要点击刷新按钮时达到局部刷新显示&#xff0c;如下图所示 步骤一&#xff1a;创建工程/包/js 步骤二&#xff1a;数据库/表创建 步骤三&#xff1a;实体类 步骤四&#xff1a;UserDao package cn.kgc.dao;import cn…