Docker自定义网络以及网络连通操作

Docker三种自定义网络(bridge、macvlan、overlay ) 一、概述 Docker 提供三种 网络驱动:bridge, macvlan 和 overlay overlay 和 macvlan 用于创建跨主机的网络 二、自定义桥接(bridge)网络 这个网桥类似于默认网络中的 bridge 创建自定义网络命令:docker network create $ docker network create --driver bridge --subnet 172.19.0.0/16 --gateway 172.19.0.1 mybridge_net 参数解释: 阅读详情

Docker自定义网络 

由于使用Docker0默认网络,是无法实现通过服务名相互 ping 通操作,一般现在都是 docker自定义网络。

Docker如何自定义网络?

查看所有网络 docker network ls

[root@iZ2ze4zc54bfy36wjglfqsZ /]# docker network ls
NETWORK ID     NAME      DRIVER    SCOPE
bac2fa49ec66   bridge    bridge    local
064163c429d0   host      host      local
d0e962ce0544   mynet     bridge    local
2d78385bb383   none      null      local
4941a2003d7c   redis     bridge    local

网络模式解释一下

bridge :桥接模式(默认)

none:不配置网络

host:和宿主机共享网络

container:容器网络连通(用的比较少)

创建网络

[root@iZ2ze4zc54bfy36wjglfqsZ /]# docker network create --help

Usage:  docker network create [OPTIONS] NETWORK

Create a network

Options:
      --attachable           Enable manual container attachment
      --aux-address map      Auxiliary IPv4 or IPv6 addresses used by Network driver (default map[])
      --config-from string   The network from which to copy the configuration
      --config-only          Create a configuration only network
  -d, --driver string        网络模式 默认是桥接 (default "bridge")
      --gateway strings      网关(常用)
      --ingress              Create swarm routing-mesh network
      --internal             限制外网网络连接到这个网络
      --ip-range strings     从子一个ip范围分配容器ip
      --ipam-driver string   IP Address Management Driver (default "default")
      --ipam-opt map         Set IPAM driver specific options (default map[])
      --ipv6                 启动 IPv6 网络
      --label list           Set metadata on a network
  -o, --opt map              Set driver specific options (default map[])
      --scope string         Control the network's scope
      --subnet strings       子网掩码(常用)

创建网络命令

[root@iZ2ze4zc54bfy36wjglfqsZ /]# docker network create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 mynet

网络模式:桥接 子网掩码 192.168.0.0/16 范围是 192.168.0.255 ~ 192.168.255.255
网关是 192.168.0.1

如果是 192.168.0.0/24 证明最多是 255 个网卡

查看创建网络
docker network ls

 查看具体信息

 测试启动两个容器,进行相互ping通测试

 启动第一个容器

 docker run -it --network mynet --name mycentos-net-01 centos /bin/bash
Ctrl+P+Q 退出

启动第二个容器 

 docker run -it --network mynet --name mycentos-net-02 centos /bin/bash

Ctrl+P+Q 退出

测试两个通过容器名称是否可以ping通过操作

发现是可以相互 ping 通的,这时候就知道自定义网络比 --link 强大多了

自定义网络是可以通过服务名相互 ping 通的,而--link 不行,再者就是自定义网络可以发向相互ping 

 网络连通

 思考一个这样的场景:

例如我使用docker0 网络运行了两个centos 01 和 centos02 服务,使用了 mynet 运行了 mycentos-net-01 和 mycentos-net-02 服务,现在需要用centos01 和 mycentos-net-02 互通网络,应该如何?

运行两个容器

[root@iZ2ze4zc54bfy36wjglfqsZ /]# docker run -it --name centos01 centos

[root@iZ2ze4zc54bfy36wjglfqsZ /]# docker run -it --name centos02 centos

都是Ctrl+P+Q 退出

测试ping

[root@iZ2ze4zc54bfy36wjglfqsZ /]# docker exec -it centos01 ping mycentos-net-01
ping: mycentos-net-01: Name or service not known
是无法 ping 通的 

原因是 docker0 和 mynet 是两个不同网段来的,怎么可能 ping 通,所以现在只能采用 容器 和 自定义网络 ping

centos01 ping mynet 操作

采用docker network connet 命令 Connect a container to a network

链接一个容器到一个网络

Usage:  docker network connect [OPTIONS] NETWORK CONTAINER

[root@iZ2ze4zc54bfy36wjglfqsZ /]# docker network connect mynet centos01
 思考一下为什么通过 connect 命令就可以通 跨网段 ping 呢?

查看一下 mynet 网络

docker network inspect mynet

 我们会发现在 mynet网络中,存在centos01,意思就是 connect 命令后,相当于 centos01网络配置添加到了 mynet中,理解为:阿里云服务器 一个官网ip 一个私网ip地址,那么一个容器 两个IP地址。

查看centos01 的 hosts 网络配置文件 

docker exec -it centos01 cat /etc/hosts

结论:假设要跨网络操作别人,就需要使用docker network connect 连通! 

【Docker篇】深入理解Docker网络原理,理解Docker0,自定义网络,网络连通 文章目录Docker网络原理1. Linux veth pair2. 理解Docker03. 容器互联--Link4. 自定义网络(推荐)5. 网络连通6. 总结 Docker网络原理 在前面的文章中跟大家说到了容器是相对独立的环境,相当于一个小型的Linux系统,外界无法直接访问,那他是怎么做的呢,这里我们先了解下Linux veth pair。 1. Linux veth pair veth pair是成对出现的一种虚拟网络设备接口,一端连着网络协议栈,一端彼此相连。如下图所示: veth pair 阅读详情

相关推荐

Docker网络原理,实现容器连通,搭建Redis容器集群

Docker服务启动时会首先在主机上自动创建一个docker0虚拟网桥,实际上是一个Linux网桥。网桥可以理解为一个软件交换机,负责挂载其上的接口之间进行包转发。 Docker随机分配一个本地未占用的私有网段中的一个地址给docker0接口。比如典型的172.17.0.0/16网段,掩码为255.255.0.0。启动的容器也会自动分配一个该网段的ip地址。 当创建一个Docker容器的时候,同时会创建一对veth pair互联接口。当向任一个接口发送包时,另外一个接口自动收到相同的包。互联接口一端位于容器

zhengzaifeidelushang的博客 477

Docker 配置网络 - 使用 overlay 网络

原文地址 overlay 网络驱动程序在多个 Docker 守护进程主机之间创建一个分布式网络。这个网络在允许容器连接并进行安全通信的主机专用网络之上(overlay 覆盖在上面)。Docker 透明地处理每个 Docker 守护进程与目标容器之间的数据包的路由。 当初始化 swarm 集群或将一个 Docker 主机加入已经存在的 swarm 集群时,Docker 主机上会创建两个新网络: ...

kikajack的博客 1万+

Win10系统安装Ubuntu虚拟机,这回真的是零基础!(结尾附NS3的配置)

Win10系统安装Ubuntu虚拟机(结尾附NS3的配置) 序幕 本人现在还在念大二,有一门很有趣而且老师讲得也不错的课程《计算机网络原理》。这周老师布置了一个实验《NS3网络模拟》,为了详细记录本次实验过程,顺便也便于自己复习,就写了这篇博客,希望能够对你有帮助! NS3是什么呢?实际上就是一门算法,和计算机网络有关的。不过在我们日常使用的Windows系统上去做这个实验是行不通的,这个实验一定要在Linux系统上进行模拟才能玩的下去,作为一名 Windows选手对此表示不爽但是没办法,为了实验也只

灼热之翼的博客 7382

docker自定义网络

iptables docker自定义网络

jlgkeep的博客 663

国密USB Key开发实战:SKF库调用全流程解析(附代码示例)

本文详细解析了国密USB Key开发中SKF库的调用全流程,涵盖从设备枚举、应用容器遍历到数字签名与验证的核心步骤。通过实战代码示例,深入探讨了SKF库的层次化模型、SM2签名实现细节以及纯软件验签方案,为开发电子签章、安全登录等合规应用提供了一套完整的调用开发指南。

oo7890的博客 527

2025.05.30【转录组】|Ribo-seq数据流程详解(一 质量控制)

本文详细介绍了Ribo-seq数据的质控分析流程,重点讲解了使用fastp进行原始数据质控的关键步骤和参数设置。作者通过Snakemake自动化流程示例,展示了如何去除接头序列、过滤低质量reads、生成质控报告等操作。文章强调高质量的Ribo-seq数据对转录后调控和翻译动态研究的重要性,并提供了兼顾数据质量和下游分析需求的参数配置建议。该流程有助于研究人员规范高效地完成Ribo-seq数据质控,为后续分析提供可靠数据基础。

785

【Docker】常用命令 docker network create

在深入探讨命令之前,我们首先需要了解Docker网络。Docker网络是用来连接Docker容器的虚拟网络。命令就是用来创建这些虚拟网络的。通过上述命令,可以创建一个名为my_network的桥接网络,并指定了自定义的子网和网关。通过本文的介绍,读者应该对命令有了更深入的了解。这个命令是创建Docker网络的关键工具,使得用户可以轻松地创建各种类型的网络,并根据需求进行定制。建议读者在实践中多多尝试,根据实际情况使用不同的选项和参数,以便创建出适合自己应用场景的网络。

好久不见的流星 4020

Python编程基础05:运算符与表达式

文章目录一、算术运算符1、分类说明表2、注意事项3、案例演示任务1、计算成绩差与平均成绩课堂练习:编程处理带余除法。任务2、打印购物小票 运算符就是专门用于告诉程序执行特定运算或逻辑操作的符号。表达式是指由常量、变量和运算符组成的一个算式。编写程序对数据进行处理,其实处理就是对数据实施各种各样的运算,搞懂运算符与表达式是我们编写程序的基础性工作,本次讲课笔记通过案例讲解各种运算符的用法以及正确书写Python表达式的注意事项。 一、算术运算符 Python中的算术运算符就是用来处理四则运算的符号,也是

howard2005的专栏 3120

Docker运行参数详解

  Docker运行参数详解   docker search 参数: MacdeMacBook-Pro:~ mac$ docker network create --help Usage: docker network create [OPTIONS] NETWORK Cre...

wang_tager2000的博客 933

【11】科曼医疗——科曼医疗 嵌入式--面试,校招,面试问答记录

科曼医疗嵌入式校招面试记录:3位面试官分别考察应用层技术、底层技术和HR面。技术问题涵盖C++特性(多态、虚函数、指针与引用区别)、内存管理(malloc与new对比)、嵌入式基础(51最小系统、IIC/SPI协议)及项目经验(智能黑板擦专利项目)。同时考察了Linux使用经验、STM32开发及嵌入式操作系统认知。最后环节应聘者询问了开发环境及面试流程。面试内容全面覆盖嵌入式开发核心知识点。

程序员,他们想的是什么?他们想的永远都是技术,他们崇尚的也永远都是技术。 1252

修改Windows hosts文件的解决方案

本文主要介绍了修改Windows hosts文件解决方案,希望能对新手有所帮助。 文章目录 1. 问题描述 2. 解决方案 2.1 安装软件 2.2 修改hosts文件

weixin_43178406的博客 1万+

【Docker】9、Docker网络详解:docker0、link、自定义网络、网络连通、集群部署

1、Docker0 清空宿主机中所有镜像、容器;然后查看网络IP # 删除所有容器 docker rm -f $(docker ps -aq) # 删除所有镜像 docker rmi -f $(docker images -aq) # 查看IP ip addr 测试 新建并启动Tomcat容器 docker run -d --name tomcat01 tomcat 宿主机中查看IP变化 尝试进入tomcat01容器查看内部IP docker exec -it tomcat

土味儿 1680

098、C3k2_Ghost:用 GhostConv 替代 C3k2 内标准卷积的轻量化改造代码

本文介绍了用GhostConv轻量化改造YOLOv11中C3k2模块的实践。作者通过线上部署案例引出问题,详细解析了GhostConv的核心实现逻辑,指出直接替换标准卷积会导致的两个关键问题:通道数不匹配和kernel_size冲突。文章提供了完整的C3k2_Ghost实现代码,包含注意事项和调试技巧。消融实验显示,该方法在小模型上可减少27%-28%参数量、34%-35%FLOPs,仅损失0.8mAP。作者总结了适用场景:小模型效果显著,大模型需谨慎;检测小目标任务不推荐;训练时需调整学习率。最后强调sh

sundong_81的博客 62

Docker网络

Docker网络理解Docker0docker如何处理容器间的网络访问?网络原理解析evth-pair技术是什么功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 理解Docker0 ip addr 查看本机网络信息 docker如

Exception_sir的博客 433

uniapp [全端兼容] - 实现集成配置百度语音识别转文字,长按或开启录音并将录音文件实时转换为文字,百度智能云API实现上传录音文件并转换成文字案例(苹果安卓App、微信小程序、移动端H5网页)

uniapp对接百度智能云语音识别,uniapp中实现语音识别(app+小程序),百度语音识别录音转文字_百度智能云,uniapp使用百度语音识别语音转文字,uniapp小程序调用百度语音识别,uni-app 百度语音识别文字并展示功能,uniapp配置自定义界面百度语音识别转文字和原生使用方式,uniapp使用百度语音,uni-app语音转文字功能,使用UniApp技术实现录音并将录音转换为文字,uniapp如何实现语音输入功能功能,Uniapp集成百度智能云API实现录音转文字详细教程完整示例代码dem

🏆 前端领域优质创作者 1万+

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Docker网络基础

Docker网络基础

qq_45908842的博客 493

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

六、Docker容器的网络连接

Docker容器的网络连接

q908544703的博客 4369

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

【转】有了这篇 Docker 网络原理,彻底爱了~

【转】有了这篇 Docker 网络原理,彻底爱了~

HSJ0170的博客 203

Docker应用-自定义网络连接

docker应用;docker自定义网络;网络连接

Grady的博客 1900

[Docker]七.配置 Docker 网络

配置 Docker 网络,docker network网络配置,以及多个容器之间的通信,不同网络不同容器之间的通信配置

资深系统架构,深耕高并发研发与 AI 大模型工程化落地。技术栈以 Python (AI/NLP/RAG/Agent) 与 Golang (高并发架构) 为双核心,兼具 PHP 大型应用经验。专注算法落地、复杂系统设计及团队技术赋能 969

docker创建自定义网络

可以看到,我们将两个容器添加到同一网络中了。我们可以看到,用名称或ip都是可以让容器互相访问的。

uk8692的专栏 372

工作日记:Docker网络

查看# 结果 NETWORK ID NAME DRIVER SCOPE。

weixin_43687500的博客 353

【Docker】容器网络探索(一):实战理解 Bridge 网络

本文通过实验方式,带你动手探索Docker网络的核心原理。从默认Bridge网络的基础通信到自定义网络,探索容器网络架构和通信机制。

D2005_10_25的博客 1445

Docker网络基础使用+原理+link+自定义网络

查看所有的docker网络网络模式bridge:桥接docker (默认,自己创建也是用bridge模式)none: 不配置网络host:和宿主机共享网络dontainer:容器内网络连通(用的少!局限很大!

慕雪的博客 1533

Docker简明教程04: 网络配置

Name a container 自定义容器名称 方便对容器进行记忆和管理 方便其它容器引用 $ docker run -d -P --name web training/webapp python app.py --name 自定义容器名称 查看结果 $ docker ps -l ...

chuxielun7571的博客 121

docker 网络原理-元一软件

Docker网络原理与自定义网络实践 Docker通过虚拟网络设备veth pair实现容器互联,默认使用docker0网桥为容器分配IP(如172.17.0.0/16段)。每启动一个容器会创建一对veth设备连接docker0,使容器间可通过IP通信,但无法直接通过服务名访问。为解决IP动态变化问题,早期使用--link实现单向域名解析(如将tomcat02绑定到tomcat03的/etc/hosts),但此方式已过时。推荐使用自定义网络:1)支持容器间通过服务名自动发现;2)提供更灵活的隔离性;3)避免

180
上一篇: Docker网络
下一篇: Docker启动redis服务以及搭建redis集群
@Kerry~
博客等级 码龄9年 8粉丝 70原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值