是否可以将 docker 端口暴露给特定接口

2023-12-20

我的服务器有两个网络接口,eth0 和 wlan0,一个连接到互联网,另一个连接到内部网络。目前使用 docker-compose 将 Docker 容器端口暴露到特定接口的解决方案是使用:

version: '2'

services:
  mosquitto:
    ports:
      - "192.168.0.1:1883:1883"

这使得它很脆弱,因为 IP 地址是通过 DHCP 分配的。使用多个设备,每个设备可能具有不同的 IP 地址。因此,是否可以仅将端口公开给特定接口?此外,一切都运行在Resin.io https://resin.io/,限制iptables等的配置。


您可以解决所提到的两个阻止程序中的任何一个:

对于动态 DHCP IP,您可以按照有关设置静态 IP 的resin.io 指南进行操作:https://docs.resin.io/reference/resinOS/network/2.x/#setting-a-static-ip https://docs.resin.io/reference/resinOS/network/2.x/#setting-a-static-ip。设置静态ip后,你应该可以在ports配置。

另一种选择是在您的系统中使用 iptablesmosquitto应用程序容器。这可以通过以下方式实现:

a) 设置network_mode: host and privileged: truemosquitto 服务的设置

b) 安装iptables作为一个RUNDockerfile 中的指令(例如RUN apt-get update && apt-get install iptables)

c) 配置 iptables(例如iptables -A INPUT -i eth0 -p tcp --destination-port 1883 -j DROP删除与端口 1883 的连接wlan0界面)

作为旁注,我鼓励您查看我们的社区论坛(https://forums.resin.io https://forums.resin.io)解答您可能遇到的任何resin.io 问题。我们的用户群在那里非常活跃,很可能会有更多的人向您提出类似的问题或有帮助的建议。

Thanks!

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

是否可以将 docker 端口暴露给特定接口 的相关文章

随机推荐

  • 如何在 Windows 10 上注册 ASP.NET?

    当我运行此命令时 出现以下错误 aspnet regiis exe i C Windows Microsoft NET Framework64 v4 0 30319 gt aspnet regiis exe i Microsoft R AS
  • 错误 ITMS-90432:Swift 支持无效。有解决办法吗?

    尝试将我的应用程序分发到 App Store Connect 时出现错误 这是我第一次遇到这个错误 我已经分发了 8 个不同版本的应用程序 没有出现任何错误 完整错误是 错误 ITMS 90432 Swift 支持无效 文件 APP NAM
  • IE8:选项标签默认获得“selected”属性(而cloneNode把它搞得一团糟)

    IE 似乎会自动在选项标签上添加 选定 属性 但如果你克隆Node它 事情就会变得奇怪 如果你在IE8中打开一个页面 代码如下
  • Cordova 忽略屏幕方向锁定[重复]

    这个问题在这里已经有答案了 我正在使用 Cordova 3 3 0 和我的 Galaxy S3 运行最新的 Cyanogenmod 来测试我正在开发的应用程序 我需要应用程序屏幕保持在 纵向 模式并被锁定 即使用户旋转设备也是如此 无论我尝
  • 为什么我会收到模板函数指针的链接器错误?

    我有一个 EventMgr 类 它有一个模板函数来注册侦听器 但是 当我注册监听器时 链接器给了我一个 错误 LNK2019 无法解析的外部符号 开胃菜代码 class EventMgr template lt class T class
  • 如何导入 .R 文件并为其指定别名?就像 import myfile.R as mf

    R 初学者 真的很想念 Python import pandas as pd import my file which is just a file not a package as mf out mf my cool function 我
  • indexedDB openCursor 事务成功返回空数组

    req db openCursor req customerData new Array a 1 req onsuccess function e var cursor e currentTarget result if cursor co
  • 如何撤消供应商/宝石捆绑安装

    I ran bundle install vendor gems所有宝石都按预期保存到宝石目录中 但是当我像这样删除它们时 rm rf vendor gems rails s Could not find rake 0 9 2 2 in a
  • C 库的 Qt 包装器

    我正在开发一个主要基于 C 库的 QT 项目 我喜欢 QT 的工作方式 并且想为我正在使用的每个 C 库制作一个 C 包装器 具有类似的 QT 风格 您有什么建议和建议 我应该做什么 不应该做什么 我想听到基于现实生活经验的答案 Thank
  • 使用 awk 将单个空格作为字段分隔符

    我正在处理一个文件 其中字段由单个空格分隔 awk 解释 FS 作为 一个或多个空格 当其中一个字段为空时 它会误读我的文件 我尝试使用 后面没有空格的空格 作为 FS 但 awk 不支持负向前瞻 简单的谷歌查询 如 单空格字段分隔符 aw
  • 使用 JavaScript 在 div 标签上添加点击事件

    我有一个div在我的表单中标记没有id财产 我需要设置一个on click对此事件div tag 我的 HTML 代码 div class drill cursor div 我不想添加id财产归我div tag 我怎样才能添加一个on cl
  • 从 Java 文本文件中删除特定行?

    我想从文本文件中删除特定行 我找到了那条线 但下一步该怎么办 任何想法 从流中读取文件并将其写入另一个流并跳过要删除的行
  • DIV 背景图像溢出

    我有一个带有背景图像的 DIV 元素 我希望它溢出到 DIV 的尺寸之外 它现在会切断图像 因为图像比 DIV 大 这可能吗 overflow visible不起作用 您可以通过替代方式完成此操作 box margin 50px 0 0 p
  • ASP.NET Web 应用程序/网站中的 IP 地址阻止列表

    我有一组IP地址 部署应用程序后 我希望只能从特定 IP 地址访问我的应用程序 如何使用 Global asax 而不是通过 IIS 实现此目的 This http www hanselman com blog AnIPAddressBlo
  • PyScripter 是否有 Mercurial 或 Git 版本控制插件? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我使用 Python 3 x 和 PyScripter 来编写脚本 我真的很怀念 PyScripter
  • JSON、REST、SOAP、WSDL 和 SOA:它们如何链接在一起

    目前正在做一些考试 我正在努力解决一些概念 这些确实在我的笔记中 提到 过 但我并不真正理解它们是如何联系在一起的 据我的理解是 SOA 一种使服务消费者 提供者进行通信的解决方案 据我所知 这是其他一切的总称 WSDL 一种描述提供者服务
  • 如何使用 Swift 在 OS X 上读取 Finder 图标(左侧源列表)

    我尝试阅读有关左侧源列表中的查找器中显示的图标的信息 我已经尝试过了NSFileManager有以下选项 NSURLEffectiveIconKey读取的图标与 Finder 中的图标不同 NSURLCustomIconKey 返回零 NS
  • 实体管理器的正确使用方法是什么

    我在 Jersey JAX RS 中有一个 REST 客户端 它接受请求 然后使用 Hibernate 的 JPA 实现从数据库检索数据并返回 JSON 使用共享实体管理器 性能相当不错 但如果有多个请求 我会从 Hibernate 收到异
  • 将 byte[] 转换为 byte[]

    有谁知道一种有效的方法来将 C 中的 2d 数组 非锯齿状 展平为 1d 并再次返回 我知道在后端 C 必须将其作为一维数组保存 如果可能的话 我只想获得后端一维数组的句柄 我想这样做的原因是因为我希望能够在托管代码中将其作为 2d 有时我
  • 是否可以将 docker 端口暴露给特定接口

    我的服务器有两个网络接口 eth0 和 wlan0 一个连接到互联网 另一个连接到内部网络 目前使用 docker compose 将 Docker 容器端口暴露到特定接口的解决方案是使用 version 2 services mosqui