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

docker 支持的四种网络

文章目录

    • 一、bridge模式
    • 二、host模式
    • 三、macvlan模式
    • 四、 ipvlan 模式

docker支持四种网络:bridgehostipvlanmacvlan

一、bridge模式

我们平时默认使用的是bridge,即网桥模式(不加额外参数使用的就是bridge模式)。相当于我们使用的小路由的NAT模式,容器的IP处于“172.17.0.0/16”的子网中,外部IP无法直接和容器通讯。

二、host模式

host模式直接使用宿主机的网卡,共用IPMAC

$dockerrun--privileged\--networkhost\-d-itubuntu:latest\/bin/bash

当使用host 模式,容器内可以看到本机网卡信息:

hostbridgedocker默认带的两种网络,macvlanipvlan需要单独创建。

三、macvlan模式

macvlan使用单独的mac和 单独的IPipvlan使用相同的mac和不同的IP。两种模式比较相似,一个使用不同的mac,另一个使用相同的mac

dockermacvlan 实例

命令示例:

$dockernetwork create-dmacvlan\--subnet=10.1.1.0/24\--gateway=10.1.1.254\-oparent=eth0 mymacvlan $dockerrun--nameadguard\--ip=10.1.1.1\--networkmymacvlan\-dadguard/adguardhome

四、 ipvlan 模式

下面演示ipvlan 模式,首先创建ipvlan网络:

$dockernetwork create\--driver=ipvlan\--subnet=10.20.0.0/16\--gateway=10.20.0.1\-oparent=enp1s0\my_ipvlan_network

创建完后,查看docker网络状态:

然后创建容器,引用ipvlan 网络

$dockerrun--privileged\--ip10.20.0.2\--networkmy_ipvlan_network\-d-itubuntu:latest\/bin/bash

在容器中检查网络:

通过ping命令测试新分配的IP,同时在容器中通过tcpdump监听icmp ping 包,从而判断当前网络是否是通的。

默认的ubuntu:latest 镜像,工具安装的不全。可以制作一个基础镜像,把需要的工具补全。这样就拥有了一个全新的运行环境,随时可以开一个新副本。

基础包汇总如下:

apt-getinstallscreenapt-getinstallvimapt-getinstallpython3apt-getinstallpipapt-getinstallnet-toolsapt-getinstalliptablesapt-getinstallisc-dhcp-clientapt-getinstalliputils-pingapt-getinstallbind9-utilsapt-getinstallgitapt-getinstallnfs-common

其中ifconfig工具在net-tools 包中,pingiputils-ping 包nslookupbind9-utils 包showmountnfs_common中。

把该装的软件都装好,然后导出作为基础镜像,以后需要快速搭环境时可以当成裁剪的虚拟机使用。

容器导出命令为:

$dockerexport-oubuntu_net.tar 98bcd091633d

使用时可以将tar包导入,当需要创建容器时,调用导入的模板就能正常使用了。

$dockerimportubuntu_net.tar ubuntu:net

全文完。

http://www.jsqmd.com/news/953218/

相关文章:

  • 卧式钻孔组合机床液压系统的设计(设计源文件+万字报告+讲解)(支持资料、图片参考_降重降ai)_文章底部可以扫码
  • 51单片机I²C控制MCP23017实现A口输入B口输出的完整测试工程
  • QLoRA微调BERT实战:4-bit量化与低秩适配双技术融合指南
  • 基于TMS320F28027的单级光伏并网逆变器软硬件全栈资料包:含原理图、PCB、C源码与MPPT实现说明
  • 大语言模型的类生命行为:代谢、边界、意图与创伤四大体征
  • 深度解析163MusicLyrics:云音乐歌词智能获取与多语言处理实战指南
  • 终极指南:5步解决macOS第三方鼠标功能缺失问题
  • 终极指南:在NPU、GPU和CPU上高效部署PyTorch-NPU/bert_base_cased模型
  • PyTorch GPU环境避坑指南:从CUDNN_STATUS_NOT_INITIALIZED到torch.cuda.is_available()为True
  • 【Java基础知识 3】程序猿的第一段代码-HelloWorld
  • webMAN-MOD:让您的PS3游戏管理变得如此简单
  • 手把手教你用Vivado封装74LS138为IP核,并搭建一个全加器(附完整Verilog代码)
  • 智能辅导系统响应延迟超2.8秒?性能压测暴露出的5类隐性耦合陷阱(含Prometheus+Grafana实时监控模板)
  • 5步构建ESP32智能农业监测系统:从零开始打造低功耗物联网解决方案
  • RAG工程实战:从PDF文档到精准问答的完整流水线
  • 别再只当编辑器用了!Jupyter Notebook仪表盘(Dashboard)的隐藏功能与高效文件管理技巧
  • 杜芬与幂律振子的Newmarkβ和RK4数值仿真MATLAB工程包(含可调参数代码+教学PPT)
  • Matplotlib工程化实践:AI模型诊断与出版级图表七步工作流
  • 2026年石家庄空调移机哪家好?5家专业公司推荐 - 本地品牌推荐
  • 零基础机器学习入门路线图:90分钟跑通第一个模型
  • 如何永久保存微信聊天记录?3步实现数据自主管理指南
  • 免费获得苹果苹方字体的终极指南:3分钟在Windows上安装专业中文字体
  • 如何高效清理电脑重复文件:Krokiet开源工具完全指南
  • 从‘Hello World’到编译器:用Python手写一个简单的语法树生成器(附完整代码)
  • C#上位机开发:用CX-Compolet搞定欧姆龙NX系列PLC通讯(Ethernet/IP协议)
  • 跟随java学习路线,在快马平台实战开发博客系统,一站式掌握企业级应用开发技能
  • 终极Mac鼠标优化指南:让你的普通鼠标超越苹果触控板!
  • 从Simulink到Simscape:我给倒立摆模型‘搬家’后,仿真速度竟然快了?
  • XB1手柄电量监控:告别游戏中断的终极解决方案
  • “热容与热阻关系”,并且之前我已提供过详细解答,我将基于您提供的上下文(半导体功率循环测试和热阻结构函数相关代码)以及之前的讨论,精简并补充一些新视角