将 Docker 容器连接到网络接口/设备而不是 IP 地址

2024-04-04

经过仔细的研究、测试和摆弄,我只能找到通过从 IP/端口转发来将 Docker 容器连接到给定接口的方法。这可以通过添加来完成-p Host-IP:Host-Port:Container-Port to a docker run命令。

我有一个侦听 UDP 广播 (255.255.255.255) 的应用程序,并且无法以这样的方式配置转发:我的容器将接收这些广播,而不转发我关心的端口上的所有网络流量(无论通过哪个接口)它进来了),即:-p Host-Port:Container-Port.

可以使用以下方式配置容器--net=host只需编写我的代码来绑定到给定的接口,我已经完成并测试了该接口,但这仍然违背了容器的主要思想。目标是让同一应用程序的多个容器侦听不同的网络接口(如设备,而不是地址)。

关于我如何做到这一点有什么想法吗?

EDIT #1:再考虑一下之后,可能在所需的接口上设置桥就足够了,但我不信任操作系统通过它发送广播数据包。请继续关注我进行更多测试。

EDIT #2:数据包通过网桥发送就可以了。但是,该网桥被配置为 Docker 默认网桥。我一直无法弄清楚如何在不同的桥上运行容器。看到一些注释指出将网络设置为--net=none并通过 lxc 容器设置自行配置。


默认情况下,docker run 命令会发布 tcp 端口。 尝试指定udp的使用:

docker run -p Host-Port:Container-Port/udb ...

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

将 Docker 容器连接到网络接口/设备而不是 IP 地址 的相关文章

  • 如何访问docker镜像?

    我试图在不运行的情况下访问 docker 映像 我只想知道它包含什么内容以进行验证 我无法 ssh 进入容器 因为它会在一秒钟内结束 所以我需要探索图像而不是容器 或者 在完成之前是否可以访问容器 明白了 命令如下 docker run i
  • Docker容器总是显示ssl连接错误

    我正在开始使用 docker compose 并一直在研究简单的演示 Flask 应用程序 问题是 我在一个组织内部运行这个程序 该组织以左右抛出 SSL 错误的方式拦截所有通信 他们为我们提供了需要安装的三个根证书 我通常已经让这些证书在
  • Azure Web 应用程序中 Docker 中的 Laravel 无法从已安装的文件存储中提供图像

    我有一个 azure web 应用程序 带有一个运行 apache 的自定义容器 带有 laravel 的 php 7 4 和一个安装的 azure 文件存储 从已安装的存储提供 png 文件确实适用于我在 docker 桌面中的本地构建
  • Docker 中的 Keycloak“无法将代码转换为令牌”

    我正在 Docker compose 网络中运行 Keycloak keycloak Security Proxy 和 ui 应用程序 当我尝试访问该网页时 我得到一个可以使用的登录页面 但我没有成功重定向 而是收到以下错误 gt Aug
  • 在 docker windows 上运行 linux 容器

    我在 Windows 10 机器上安装了 Docker for Windows 它要求我启用 HyperV 功能 一切都安装正确并且运行良好 虽然有一件事让我大吃一惊 我实际上能够在 docker windows 上运行 Linux 容器
  • 您可以bind()和connect() UDP连接的两端吗

    我正在编写一个点对点消息队列系统 它必须能够通过 UDP 运行 我可以任意选择一侧或另一侧作为 服务器 但这似乎不太正确 因为两端都从另一端发送和接收相同类型的数据 是否可以绑定 和连接 两端 以便它们只能彼此发送 接收 这似乎是一种非常对
  • 使用 docker 卷持久化数据库

    我正在尝试将 postgres 数据保存在 docker 容器中 以便您一旦docker compose down and docker compose up d您不会丢失上一次会话的数据 我无法让它做很多事情 将容器拉下来然后再次备份会定
  • 在 PowerShell 中通过 UDP 发送和接收数据

    我正在尝试编写一个脚本来使用 PowerShell 进行测试和应用 测试应包括通过 UDP 向远程服务器发送字符串 然后读取该服务器的响应并对结果执行某些操作 我需要的唯一帮助是脚本的中间两个步骤 发送字符串 然后 接收响应 在端口 UDP
  • 当 docker 处于分离状态或前台时,日志不会发送到 AWS Cloudwatch

    当我以交互模式运行 docker 脚本时 它可以工作 我可以在控制台和 AWS CloudWatch Logs 中查看日志 下面的 docker 脚本以交互模式运行 我添加了 awslogs 配置 以便日志进入 cloudwatch doc
  • 检查 docker 在 Gitlab CICD 管道中运行

    我在用着亚搏体育appGitlab CI CD https docs gitlab com ee ci README html构建 Node 服务器的 Docker 镜像 我想知道是否有办法测试它docker run图像的质量还可以 我们很
  • 服务无法启动虚拟机“DockerDesktopVM”,因为 Hyper-V 组件之一未运行

    我有 Window Server 2016 2019 虚拟机 Openstack 至此Hyper V安装成功 但无法启动 MobyLinuxVM ExposeVirtualizationExtensions 已通过 PowerShell 在
  • Docker:Nginx 和 php5-fpm docker 不说话

    我想进行完全 Docker 化的 Drupal 安装 我的第一步是让容器与 Nginx 和 php5 fpm 一起运行 两者都基于 Debian 我在 CoreOS alpha 频道 使用 Digital Ocean 我的 Dockerfi
  • 在容器中运行多个相似的进程有意义吗?

    提供有关该问题的背景的简要背景 目前 我和我的团队正在将微服务迁移到 k8s 以减少维护多个部署工具和管道的工作量 我们计划迁移的微服务之一是 ETL Worker 它监听 SQS 上的消息并执行多阶段处理 它是使用 PHP Laravel
  • 使用 Github 注册表中的 Docker 镜像未经授权

    我在本地创建了 Docker 镜像 将其标记为 Github Docker 注册表 将其推送到 Github Docker 注册表 现在我想在 Github 操作中使用它来创建 Docker 镜像FROM字段但它总是失败unauthoriz
  • 如何在 Docker for Windows 中设置共享驱动器?

    如何在 Docker for Windows 中设置共享驱动器 我正在使用最新版本 18 Stable 和 Edge 我的设置屏幕如下所示 它缺少一些选项 如共享驱动器 高级和网络 如第二张图片所示 为什么我缺少这些选项 My settin
  • 使用反向代理进行过多重定向

    Setup 云flare DNS docker 撰写 nginx 反向代理 WordPress 的 fpm Nginx PHP 处理程序 Problem 重定向太多 如以下日志所示 Attaching to wp db wp wp web
  • 为 Docker 容器分配静态 IP

    我现在尝试在启动 Docker 容器时分配静态 IP 172 17 0 1 我使用端口 2122 作为该容器的 ssh 端口 以便让该容器监听端口 2122 sudo docker run i t p 2122 2122 ubuntu 此命
  • 在 Docker Compose 中更改 postgres 容器服务器端口

    我正在尝试使用 Docker compose 在远程服务器上部署第二个数据库容器 该 postgresql 服务器在端口 5433 上运行 而不是第一个 postgresql 容器使用的端口 5432 当我设置应用程序时 我收到以下错误输出
  • 如何查看哪个用户启动了 Docker 容器?

    我可以查看正在运行的容器的列表docker ps https docs docker com engine reference commandline ps or 同等地 https stackoverflow com q 45254677
  • WordPress docker 的 nginx ssl 反向代理不会加载资源和 css

    最近我用docker配置了wordpress站点 它在端口8080上运行 然后我在主机上配置了nginx反向代理 一切都很好 但在我添加ssl站点之后不久 就无法加载itz css 并且我找不到错误 server server name m

随机推荐