docker内的容器如何与宿主机共享IP

2023-10-27

问题

有个项目里面需要将一些服务打包到docker镜像中,打包完成后,发现有些服务有问题,主要集中在一些端侧设备接入用的服务,主要是工业相机。相机扫描不到。

原因

当Docker进程启动时,会在主机上创建一个名为docker0的虚拟网桥,此主机上启动的Docker容器会连接到这个虚拟网桥上。虚拟网桥的工作方式和物理交换机类似,这样主机上的所有容器就通过交换机连在了一个二层网络中。从docker0子网中分配一个IP给容器使用,并设置docker0的IP地址为容器的默认网关。这样容器就在宿主机建立的一个虚拟vlan中,或者叫虚拟局域网中。
而很多设备的发现和扫描服务都是运行在局域网中
比如摄像头的ONVIF协议,相机的genicam协议等。
这就导致了运行在docker中的设备发现服务,无法发现设备,无法被设备访问到。

解决

docker中的容器有四种网络方式,默认是bridge的方式。这种就是虚拟vlan了,容器可以访问外面,也可以映射端口出去。另外一种是host方式,这种方式和宿主机用同一个IP,满足了需要,可以解决这个问题。

[root@master ~]# docker run -tid --net=bridge --name testhost ubuntu1604
[root@master ~]# docker exec -ti testhost /bin/bash
[root@master py_interface]#

host模式下的容器,进入后显示为主机的名称而不是一串id,比如

[root@efc2b497dbd6 py_interface]#

进入容器后,ifconfig一下能看到IP和宿主机是一样的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

docker内的容器如何与宿主机共享IP 的相关文章

随机推荐

  • 5G LAN技术专题详解(1)-目录

    相关文章会在公众号同步更新 最近工作忙 更新完公众号后 经常容易忘记再CSDN上再发 公众号上的文章更新的能快一些 各位同学有兴趣可以关注一下 公众号 5G通信大家学 持续更新的相关5G内容都是直接根据3GPP整理 保证更新内容的准确性 避
  • VMware Fusion Pro 12 Mac介绍(支持11.0 Big Sur出来啦)

    VMware Fusion 12 出来啦 完美支持macOS Big Sur系统 Fusion 12 包含几项新的更新和改进 包括 eGPU 兼容性 对使用 Kubernetes 构建的基于容器的应用程序的支持 DirectX 11 和 O
  • 计算机软件毕业设计项目源码大全

    给计算机软件相关专业的同学准备了许多毕设项目源码 大家可以下载 找到跟自己类似的 学习下别人的软件是如何做出来的 gitee下载地址 https gitee com chenshuai777 soft 部分截图如下 太多了我就不一一截出来了
  • 数字化项目建设管理难点分析与对策

    企业数字化发展主要以项目建设为依托 通过分阶段 有计划地实施一系列数字化项目 来不断夯实基础设施建设 持续深化业务系统应用 大力推进研发资源服务 稳步提升安全保密防护措施 日益完善运维管理体系 随着企业改革的不断深入 在加快数字化建设进程过
  • 使用随机森林算法编写评分卡模型

    数据来源于信贷用户 数据量级为2W 首先读取数据 忽略警告 import warnings warnings filterwarnings ignore 导入常用库pandas Numpy matplotlib import pandas
  • Linux下如何操作寄存器(用户空间、内核空间方法讲解)

    本期主题 linux下操作寄存器 往期链接 linux设备驱动中的并发 linux设备驱动中的编译乱序和执行乱序 linux设备驱动之内核模块 linux字符驱动 linux字符驱动之ioctl部分 linux字符驱动之read write
  • 深度学习之强调一下数据的重要性

    在深度学习模型的测试过程中 数据集的选择很重要 在构造数据集的时候 要注意做好数据的清洗和标注 一个高质量的数据集往往能够提高模型训练的质量和预测的准确率 在缺乏数据的情况下 可以尝试寻找一些公开数据集 特别是得到公认的被普遍使用的数据集
  • HTML、CSS、JS简单介绍以及HTML的标签

    目录 一 HTML 结构 1 了解网页 2 了解HTML 二 CSS 样式 1 CSS 网页的美容师 2 CSS 的规则 3 CSS的格式 三 JavaScript 行为 1 JavaScript的历史 2 JavaScript的简介 3
  • 小白 / Java面试必知必会系列

    1 Java学习路线推荐 2 Java经典电子版书 3 Java面试必知必会 介绍 本仓库主要讲解Java在面试中的高频考点 分别包含Java基础 Java集合 Java多线程与并发编程 Java虚拟机 数据库 计算机基础 框架和中间件等
  • 在vue中 设置锚点 被固定顶部遮挡的问题

    1 如何设置锚点 点击左侧列表 跳转到页面指定的位置 将页面不同模块设置不同id属性 点击左侧菜单时 采用scrollIntoView 的方式实现 注 我用的是vue3 的 script setup语法糖 的写法 span 颜色 span
  • Diamond软件的使用--(1)软件安装及配置

    此处不推荐使用3 5版本的diamond 会出现RVL抓取数据失败的情况 我个人测试情况是使用3 11以上版本即可避免该情况 故演示采用目前最新的3 12版本 3 12版本 64位 官网链接 简单注册账户即可下载 https www lat
  • jdk8和jkd6去重

    jdk8和jkd6去重 jdk8去重 集合名称newList 去重字段getId 实体类PreFileMakeRangeOutEntity newList newList stream collect Collectors collecti
  • 「完结撒花」使用intel realsense D435i深度相机获取信息,DOBOT MG400机械手实现动态实时抓取,并做了个GUI界面(python实现)

    GUI界面如下 丑是丑了点 但很好用 嘿嘿 GUI部分 1 GUI界面可以实现的功能 暂停 继续相机画面 显示彩色RGB图像 深度图像 开运算结果图 进行图像处理后的图片 右侧 调节opencv轮廓查找框选面积范围 调节图像区域 给dobo
  • [Flex&Bison]协同工作简介

    1 本节主要演示一个简单的模拟bc计算器的程序 主要功能就是解析整型数的四则运算 先给出bison程序 include
  • JavaScrip实现前端列表分页

    在一些网站的管理系统中 通常的查询功能会有很多信息 这时候前端如果不分页显示 那么浏览器的长度就会很长 所以通常要进行分页处理 对于分页主要有两种方法 第一种方法有后台来进行分页 前端通过请求后台传入分页所需的参数来使后台返回响应的分页结果
  • App逆向——安卓7以上如何安装抓取https的包

    安卓7以上如何抓取https的包 1 从抓包软件中导出证书 以burpsuite为例 访问http burp 导出证书即可 2 通过openssl处理pem证书 gt gt gt openssl x509 subject hash old
  • 欧几里得空间——正交矩阵

    设与是欧氏空间V在的两组标准正交基 它们之间的过渡矩阵是即
  • Chrome浏览器Cookie解密

    做过 web 开发的都知道 浏览器会把重要的认证登录认证信息存放到 cookie 中 在 cookie 有效期内 再次访问这个网站的时候就可以直接从 cookie 中获取到登录信息 这样就可以实现自动登录 但仅仅知道知道这些肯定不能满足很多
  • x-www-form-urlencoded到底是什么?

    概述 x www form urlencoded纸面翻译即所谓url格式的编码 是post的默认Content Type 其实我觉得可以认为get和post的默认表单数据传递格式都一样 只是一个在url地址后面加 再加表单数据 另一个是把表
  • docker内的容器如何与宿主机共享IP

    问题 有个项目里面需要将一些服务打包到docker镜像中 打包完成后 发现有些服务有问题 主要集中在一些端侧设备接入用的服务 主要是工业相机 相机扫描不到 原因 当Docker进程启动时 会在主机上创建一个名为docker0的虚拟网桥 此主