如何在没有端口映射的情况下将docker容器的ip和端口暴露给外部docker主机?

2023-11-30

当我在一台 docker 主机上为同一个 Web 映像启动两个 docker 容器时。

  • 两个docker容器监听同一个端口5000
  • port 5000两个容器的映射到docker主机的不同端口:49155, 49156
  • 要从外部 docker 主机访问这两个容器,需要访问 docker 主机 ip 和端口49155 or 49156

有没有解决方案可以通过 ip 和端口从外部 docker 主机访问 docker 容器,x.x.x.x:5000,没有端口映射?

不同dock主机上的所有docker容器都可以直接互相访问。


您可以通过主机上的 IP 别名来实现此目的。

首先,在主机上添加一个与主接口具有不同 IP 地址的虚拟接口。我们将调用主接口eth0有IP10.0.0.10,和虚拟接口eth0:1有IP地址10.0.0.11.

 ifconfig eth0:1 10.0.0.11 netmask 255.255.255.0 up 

现在运行容器并将端口 5000 映射到相应的接口。例如:

docker run -p 10.0.0.10:5000:5000 -name container1 <someimage> <somecommand>
docker run -p 10.0.0.11:5000:5000 -name container2 <someimage> <somecommand>

现在您可以在外部使用不同的 IP 地址访问端口 5000 上的每个容器。

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

如何在没有端口映射的情况下将docker容器的ip和端口暴露给外部docker主机? 的相关文章

随机推荐

  • 在 d3.js 中反转色阶

    是否可以在 d3 中创建具有颜色域和数字范围的比例 我尝试了以下方法 var colorScale d3 scale linear range red white domain 3 9 5 console log cs colorScale
  • 即使关闭应用程序,列表视图突出显示的所选项目仍然保留

    我在如何保存和读取列表视图中突出显示的项目时遇到了麻烦 我使用下面的共享首选项 但我不知道下一步 请帮助我如何做到这一点 非常感谢任何帮助 Image ArrayList
  • 使用python创建多列的虚拟变量

    我正在处理一个包含两列 ID 号的数据框 为了进一步研究 我想为这些 ID 号 带有两个 ID 号 制作一种虚拟变量 但是 我的代码不会合并两个数据帧中的列 如何合并两个数据帧中的列并创建虚拟变量 数据框 import pandas as
  • iOS 7(非越狱)Wi-Fi RSSI 值

    是否可以在未越狱的 iOS 7 设备上获取 Wi Fi RSSI 值 我读到了 MobileWiFi framework 和Apple80211功能 如果我理解正确的话 它们在没有越狱的情况下无法工作 我不想在 App Store 上发布我
  • 使用 lighttpd 重写 - 如何删除文件扩展名

    我想使用lighttpd的mod rewrite来允许没有特定文件扩展名的请求 例如 我希望以下映射自动工作 请求 index 将提供 index php dir file gt dir file php dir file args gt
  • 如何堆叠与前一个矩形高度相应的矩形?

    我尝试制作一个简单的列视觉效果 其中矩形的高度由比例决定 var heightScale d3 scaleLinear domain 150 2500 range 10 80 我的代码是这样的 var margins top 100 lef
  • Tkinter 中的多个窗口?

    我是编程新手 很难找到教如何创建使用多个窗口的 GUI 的教程 例如 如果用户单击 查找 按钮 则会弹出一个包含搜索结果的窗口 我该如何实现这个目标 这在 Tkinter 中可能吗 任何对来源的建议 参考将不胜感激 谢谢 要创建您的第一个窗
  • 使用JQuery跨域获取Xml数据

    有没有办法用JQuery 客户端 跨域加载XML数据 get http otherdomain com data xml function xml 上面的方法不起作用 我是否必须依赖 JSONP 或者有没有办法加载 XML 无法加载 XML
  • 如何在 JFrame 中使用 setVisible?

    在我的程序中我有两个JFrame实例 当我点击next按钮我想显示下一帧并隐藏当前帧 所以我用this setVisible false 和新的Next setVisible true 但在Next如果我点击窗口back按钮我想将上一帧设置
  • 使用 AJAX、PHP 和 jQuery 上传多个图像

    我在使用 AJAX 上传多个图像时遇到很多问题 我写这段代码 HTML
  • ASP.Net Core 应用程序可以在 Visual Studio 中运行,但不能与 dotnet run 一起运行

    我有一个 asp net core 应用程序 我开始通过 Visual Studio 构建它 通常当我按 F5 或按 Visual Studio 中的调试按钮时它工作正常 However if I try to use dotnet run
  • 将单元格超链接到其自身的宏

    我已经创建了一个宏 允许我双击超链接 它会根据我单击的单元格显示另一张工作表中的信息 现在我想自动化超链接过程 我需要一个宏 它将获取名称列表并将所有这些单元格超链接到自身 到目前为止 我有一个宏 它超链接激活的单元格 但返回值 0 但已超
  • 仅单击按钮即可添加记录

    我有一个 数据输入 属性设置为 是 的表单 它绑定到一个表 当我开始填写表格时 它会自动保存 我不希望这种情况发生 我只想在按下按钮时将表单保存到表格中 有什么简单的方法可以做到这一点吗 不含 VBA 如果我只能用 vba 做到这一点 请告
  • 去掉 UINavigationBar 右侧的空间

    所以 这就是我想要实现的目标 It s a UINavigationBar with a UIBarButtonItem使用自定义初始化UIButton 基本上是这样的 UIButton favoriteButton UIButton bu
  • 将新版本的 Android 应用程序发布到 google play admob 后,状态更改为非活动且不显示广告

    Admob 在我的应用程序上展示广告 一切正常 然后我创建了该应用程序的新版本 将其上传到 Google Play 广告就停止出现了 在 AdMob 中 该应用程序的状态更改为 非活动 AdMob 从未收到您网站的广告请求 气泡从绿色变为红
  • vba下载并保存在C:\user中[关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 我想要使 用 VBA 的 excel 从互联网下载文件 该文件是一个包含有关员工列表信息
  • 将 Servlet 3.0 与 Weblogic 10.3 结合使用

    我正在研究基于表单的身份验证并使用以下语句 我已经意识到Servlet 3 0自带的HttpServletRequest gt login方法的实现方式 在stackoverflow用户的帮助下 HttpServletRequest req
  • 无法在 Android 2.3.x 或更低版本上使用 Movie 解码某些动画 GIF 文件

    我尝试使用以下代码片段来解码带有 Movie 类的动画 gif 文件 URL url InputStream is null BufferedInputStream bis null url new URL http emos plurk
  • 如何为Python 2.7重新安装GDAL库?

    我正在尝试安装适用于 Python 2 7 的 GDAL 库 并且我遵循了不同的可用说明 例如 http pythongisandstuff wordpress com 2011 07 07 installing gdal and ogr
  • 如何在没有端口映射的情况下将docker容器的ip和端口暴露给外部docker主机?

    当我在一台 docker 主机上为同一个 Web 映像启动两个 docker 容器时 两个docker容器监听同一个端口5000 port 5000两个容器的映射到docker主机的不同端口 49155 49156 要从外部 docker