限制 Docker 仅公开来自特定 IP 地址的端口

2023-11-30

如何限制 Docker 暴露的容器端口仅来自 IP 列表?只有此 IP 列表才能访问此端口。

我尝试过:

iptables -I DOCKER -p tcp --dport PORT_X -j REJECT --reject-with icmp-port-unreachable
iptables -I DOCKER -p tcp --dport PORT_X --source EXTERNAL_IP_1 --destination HOST_IP_1 -j ACCEPT
iptables -I DOCKER -p tcp --dport PORT_X --source EXTERNAL_IP_2 --destination HOST_IP_1 -j ACCEPT
iptables -I DOCKER -p tcp --dport PORT_X --source EXTERNAL_IP_3 --destination HOST_IP_1 -j ACCEPT

我有同样的问题。我用这个规则解决了它:

iptables -I DOCKER-USER -i <your_interface_name> -j DROP
iptables -I DOCKER-USER -i <your_interface_name> -s <your_first_ip> -j ACCEPT
iptables -I DOCKER-USER -i <your_interface_name> -s <your_second_ip> -j ACCEPT

Care, DOCKER-USER是一条链,当service docker restart

您应该能够添加端口标志,但我不是专家,这不是我的需要。

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

限制 Docker 仅公开来自特定 IP 地址的端口 的相关文章

  • Docker Hub API v2 令牌身份验证问题

    目前 我正在开发一个非常轻量级版本的 Docker 容器编排器 并且我必须能够从公共 Docker Hub 注册表获取图像摘要 我想使用 Docker Registry API v2 来实现此目的 我正在尝试使用以下 API 调用获取授权令
  • “ModuleNotFoundError:我的 Docker 容器中没有名为 的模块”

    我正在尝试在 Docker 容器中运行 python 脚本 但我不知道为什么 python 找不到任何 python 模块 我认为它与 PYTHONPATH 环境变量有关 所以我尝试将其添加到 Dockerfile 中 如下所示 ENV P
  • 无法使用 docker build 运行 gradle 包装器

    我有这个小构建 FROM eclipse temurin 17 jdk as build java COPY java project root project WORKDIR root project RUN chmod x gradle
  • 在 docker 中重定向命令输出

    我想为我的服务器做一些简单的日志记录 它是一个在 Docker 容器中运行的小型 Flask 应用程序 这是 Dockerfile Dockerfile FROM dreen flask MAINTAINER dreen WORKDIR s
  • 如何从 Docker Hub 删除存储库

    如何从 Docker Hub 完全删除存储库 Docker 正在快速发展 他们的网站也是如此 这是从 docker hub Web 界面删除存储库的最新方法 首先 确保您已登录 hub docker com Simple 单击顶部的存储库链
  • 非生产模式下的 Elasticsearch docker 容器可消除 vm.max_map_count=262144 要求

    如何配置 elasticsearch docker 容器 elasticsearch 7 5 0 以使用更少的资源并在非生产模式下运行 我想在 Jenkins 和我的桌面上运行容器 并且满足以下要求这个弹性文档 https www elas
  • python获取上传/下载速度

    我想在我的计算机上监控上传和下载速度 一个名为 conky 的程序已经在 conky conf 中执行了以下操作 Connection quality alignr wireless link qual perc wlan0 downspe
  • 如何将docker镜像从一台主机复制到另一台主机?

    假设我有 10 个 docker 镜像 在所有 10 个 docker 镜像中 许多层都是相似的 使用时docker save o 保存的图像是独立的 因此图像尺寸会变大 10 张图像大小约为 9GB 拉取泊坞窗图像后 我探索 var li
  • 我应该将Python的pyc文件添加到.dockerignore吗?

    我见过几个例子 dockerignorePython 项目的文件 其中 pyc文件和 或 pycache 文件夹被忽略 pycache pyc 由于无论如何这些文件 文件夹都会在容器中重新创建 我想知道这样做是否是一个好习惯 是的 这是一个
  • 使用Powershell在断开的网卡上设置静态IP,可能吗?

    我需要在 Windows 10 上未连接到网络时设置网卡的 IP 地址 我试过了 Set NetIPAddress InterfaceAlias Ethernet IPAddress 192 168 5 10 PrefixLength 24
  • 无法从外部访问在 docker swarm 上运行的容器

    我正在 docker swarm 上运行我的容器 资产前端service 是我的前端应用程序 它在容器内运行 Nginx 并公开端口 80 现在如果我这样做 curl http 10 255 8 21 80 http 10 255 8 21
  • Node.js 在 Google Cloud Platform 上运行 Hello World 错误部署错误

    我在 Mac OSX Yosemite 上 当我执行以下步骤 运行 Hello World 时出现错误适用于 Google Cloud Platform 的 Node JS Hello World 教程 https cloud google
  • docker 容器中的“(pygame parachute)分段错误”

    尝试在 docker 容器中使用 pygame 时出现以下错误 我想从容器中获取显示 Fatal Python error pygame parachute Segmentation Fault 重现 Docker已安装 docker ru
  • 使用 IP 地址连接到另一台计算机

    我在计算机上安装了 NodeJS 并运行了一些测试 一切正常my机器 现在我想要一个不在同一网络中的朋友连接到我的计算机 以便 NodeJS 可以响应我朋友的请求 但我不知道 我必须在哪个IP和端口上监听 我也不知道 我必须给我的朋友哪个I
  • 使用外部存储,删除文件夹时出错

    我正在使用 docker nextcloud 我创建了一个干净的实例 我想使用应用程序外部存储 我设法使用以下命令成功配置本地存储 mount id docker exec user 1000 nextcloud php occ files
  • 无法在docker容器中安装npm?

    我正在数字海洋服务器的 Docker 平台上部署一个简单的 Node js 应用程序 包 json name docker centos hello private true version 0 0 1 description Node j
  • 没有特权访问的 Docker VPN IPSec 客户端

    我有一个 mysql 数据库 只有在建立 VPN 连接后才能访问 IpSec shared secret 用户名 密码 所以我想运行一个隔离的docker容器 它将建立此连接并以某种方式代理 公开mysql端口 以便其他容器可以连接到它而不
  • 如何使用 iPhone 将照片上传到服务器?

    我正在编写一个 iPhone 应用程序 它可以拍摄照片然后将其上传到服务器 如何使用 Cocoa 将照片上传到服务器 我想我在某处使用 NSUrl Thanks Header interface EPUploader NSObject NS
  • 无法访问127.0.0.1

    我不知道这种情况何时开始发生 但结果是 127 0 0 1 无法在任何地方的任何端口上工作 例如 浏览器显示无法连接 以下是我的研究结果 localhost COMPUTER NAME 和实际 IP 地址都工作正常 我的主机文件中没有什么特
  • 如何将音量挂载到应用程序的源代码中?

    我有 kubernetes pod 我将应用程序源代码安装为 git 卷 我尝试了各种设置来将源代码放入 pod 中 而 git Volume 是我最终得到的设置 但现在我遇到了数据问题 我的应用程序中有一个文件目录 空 我需要在其中安装一

随机推荐

  • 我的类名与 Ruby 的类名冲突

    我的模块中有一个名为 Date 的类 但是当我想使用用 ruby 打包的 Date 类时 它会使用我的 Date 类 module Mymod class ClassA class Date lt Mymod ClassA require
  • 控制CPU利用率

    在运行时如何控制CPU利用率是明智的 轮询CPU负载并插入睡眠 我推荐操作系统功能 Windows 上有用于此目的的性能计数器和 WinAPI 函数 这是一个使用的示例性能计数器 from BCL 团队博客 foreach Process
  • 将 pyqtgraph 绘图嵌入到 QT .ui 中?

    首先 我希望您对我有一些耐心 因为我是此类项目的新手 我也希望不要问愚蠢的问题 话虽这么说 我的主要目标是为树莓派 3 创建一个 UI 它将感应电池和太阳能电池板的电压 电流等 由于我正在研究树莓派并且对Python3有一些了解 所以我决定
  • 从基于文本的表输出中提取列

    qfarm load命令显示我的服务器的负载 输出 PS gt qfarm load Server Name Server Load Load Throttling Load Logon Mode SERVER 01 400 0 Allow
  • Windows 10 上使用 IE 的量角器失败 - 错误代码 199

    我无法让量角器在 Windows 10 上使用 IE 11 它说Unable to create new service InternetExplorerDriverService并且存在代码 199 我尝试过旧的重新安装 升级节点 npm
  • 如何使用 Power Query 有效地密集表中的排名组

    我一直在尝试最简单的方法对具有组或类别的数据对以下数据进行密集排名 我已经问过类似的问题来对数据进行排名 但这是针对分组数据的 我希望对分数列进行排名 如下所示 使得最高的数字占据第一位置 第一 第二大的数字占据第二位 依此类推 如果有平局
  • 如何使用 Swift 1.2 确定 NS_ENUM 是否为未记录的值

    例如 定义了以下 NS Enum typedef NS ENUM NSInteger Type TypeNone 0 TypeA 1 var x 2 if let type Type Type rawValue x Swift 1 2 ex
  • 从服务器向客户端发送浮点数

    我在用TCP IP套接字编程 我有一个浮点值存储在变量中ret val在我的服务器代码中 我想将其发送给正在等待接收它的客户端 我该怎么做 如果您知道客户端和服务器是同一平台等 您可以简单地使用sizeof float 确定缓冲区大小并从浮
  • Project Tango:坐标系之间的转换和合并点云

    我正在尝试转换采样并存储在 XYZij 数据中的点云 根据document 将相机空间中的数据存储到世界坐标系中 以便可以合并它们 我用于 Tango 监听器的帧对有COORDINATE FRAME START OF SERVICE作为基础
  • 循环中 Plotly 中的 add_trace [重复]

    这个问题在这里已经有答案了 我想在循环中绘制多个轨迹 而不覆盖所有以前的轨迹 In 这个帖子从 2015 年开始 提出了在循环中添加跟踪的解决方案 通过设置evaluate TRUE在plot ly或add trace函数中 然而 从 20
  • 如何使用 forge 加密和解密 pdf blob 并将其存储在 localStorage 中?

    我试图加密一个 pdf 文件 Blob 并将其存储在 localStorage 中 并在离线时读取和解密它 我的应用程序是用 AngularJS 编写的 加密是用forge 这是我下载pdf文件的代码 http get url header
  • 无法过滤使用 Angular 2 中的 Http get 访问的 (MatSelect) 中的数据

    我使用带有输入字段和选择的 Angular Material 创建了一个简单的 Angular 应用程序 在我的选择中 我使用 HTTP get 请求访问数据accountdetails json它位于我的资产文件夹中 我已对选择应用了搜索
  • 为什么我无法在手机浏览器中输入网址来查看我的实时网站?

    我使用一个名为实时服务器在 Visual Studio 代码中 当我实时运行时 浏览器会打开 网址为http 127 0 0 1 5500 index html 为什么我无法在手机浏览器上打开此网址来查看手机上的实时站点 有没有办法做到这一
  • Android 中如何检测平板设备?

    我正在尝试将我为智能手机开发的应用程序移植到平板电脑上 并进行少量修改 Android中有API可以检测设备是否是平板电脑吗 我可以通过比较屏幕尺寸来做到这一点 但是检测平板电脑的正确方法是什么 我认为 API 中没有任何特定标志 基于 G
  • 如何在ECS任务定义命令中转义逗号

    我有 docker 镜像和命令 celery A bits payment tracking app app worker l debug Q celery reports concurrency 3 它在 docker 和 docker
  • 在电子中打开pdf文件

    我需要构建一个应用程序 用户可以在应用程序中打开 PDF 文件 即不通过打开新的浏览器窗口 我需要实现一个后退按钮 可能还需要在 PDF 上实现一些覆盖 有谁知道在 Electron 中是否有一个好的方法来做到这一点 如果您对 Chrome
  • Future.wait() 用于多个 future

    当我的设备没有互联网连接时 我试图捕获错误 我构建了 2 个未来方法 1 个用于导入 json 1 个用于查看数据库 我有一个未来的构建器 它应该在构建网格视图之前等待两个未来完成 但似乎由于连接错误而过早地调用了offlineFlashC
  • 通过 OBEX Object PushProfile 通过蓝牙接收文件

    我的设备使用 OBEX 对象推送配置文件 OPP 通过蓝牙发送数据 使用 adb logcat 我看到我的 Android 设备收到一个连接 但中止此连接 08 22 11 14 37 939 I BtOppRfcommListener 2
  • xslt1.0 替换不起作用

    我的 URL 带有一些特殊字符 我想替换它们 并且我正在使用 xslt 1 0 所以我编写如下代码
  • 限制 Docker 仅公开来自特定 IP 地址的端口

    如何限制 Docker 暴露的容器端口仅来自 IP 列表 只有此 IP 列表才能访问此端口 我尝试过 iptables I DOCKER p tcp dport PORT X j REJECT reject with icmp port u