Docker 容器 - 如何配置使其在 vagrant 中运行时获得可行的 IP 地址?

2024-05-15

Docker (www.docker.io) 看起来棒极了。然而,安装 VirtualBox 后,Vagrant ...最后是 Mac 上的 Docker,我发现无法从另一台计算机(或从 Mac 上的终端会话)访问 Docker 容器中运行的服务。我尝试访问的服务是 Redis。

问题似乎是没有到分配给 Docker 容器的 IP 地址的路由。在本例中,容器的 IP 为 172.16.42.2,而 Mac 的 IP 为 196.168.0.3。

一些注意事项:

  1. 可以访问它 - 但只能从 VirtualBox 会话中访问。这可以使用 redis-cli -h 172.16.42.2 -p 6379 来完成。
  2. 我已将“config.vm.network :bridged”添加到 VagrantFile 中以尝试获取,但这并没有解决问题。

vagrant 生成的虚拟机确实是隔离的,为了从您的主机访问它,您可以为其分配专用网络。 而不是做config.vm.network :bridged, try config.vm.network :private_network, ip: "192.168.50.4",应该可以解决问题

但是,这仅允许您访问虚拟机本身,而不能访问容器。
为此,在运行容器时,您可以添加-p option

ex: docker run -d -p 8989 base nc -lkp 8989

这将在容器内运行一个 netcat 监听 8989 并公开暴露该端口。由于它也使用 -d 运行,因此容器将处于分离模式,唯一的输出将是容器的 ID

为了暴露端口,Docker 做了一个简单的 NAT。为了了解真实的端口,您可以

do docker port <ID of the container> 8989

Netcat 将从 192.168.50.4 的 Mac 上可用:

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

Docker 容器 - 如何配置使其在 vagrant 中运行时获得可行的 IP 地址? 的相关文章

  • 为什么 NSToolbarItem 自动被禁用?

    我的 Mac 幻灯片应用程序工具栏中的按钮有点问题 我希望在没有活动幻灯片时禁用这些按钮 在有活动幻灯片时启用这些按钮 为了实现这一点 我设置了按钮isEnabled财产给false在开始时 我已经尝试过 Interface Builder
  • 是否可以使用“pandoc”将 .tex 文件编译为 PDF?

    是否可以使用 pandoc 编译 tex 文件 我目前正在使用 MacVim 在 MultiMarkdown 中记课堂笔记 这样 当我回到家时 我就可以mmd2tex并使用 TexShop 将 tex 文件编译为 PDF 它效果很好 但这个
  • Xcode:无法检查应用程序包

    我正在运行 Xcode 6 和 iOS 8 GM 每当我运行我的应用程序时 我都会从 Xcode 收到此消息 无法检查应用程序包 这样我就可以运行和构建 我会收到消息 我再次运行并构建 一切都按预期运行 这是我的设备 然后它会冲洗并重复 每
  • 更新 Mac OS 10.7 的 grep

    我想将 Mac 上的 grep 更新到比 Mac OS 10 7 2 附带的 2 5 1 更新的版本 我的问题是 为 Mac 更新 grep 或任何类似程序 的最佳方法是什么 我可以使用 Fink 或 MacPorts 安装新版本并设置路径
  • NSTokenField:标记的不同颜色

    我在我的 xib 中创建了一个 NSTokenField 我想在 tokenField 中显示不同颜色的令牌 含义 一些标记将是蓝色的 其余的将是红色的 根据其内容 那可能吗 以下代码对我不起作用 我希望有人能帮助我 id tokenFie
  • Windows下Kafka托管在Docker中删除主题时出现异常

    我在 Windows 的 Docker 中托管 Kafka 威斯迈斯特 卡夫卡 https hub docker com r wurstmeister kafka 使用 docker 镜像 Kafka 数据存储在本地 Windows 文件夹
  • 如何在 Docker Desktop 上创建新的 Kubernetes 集群?

    我似乎不知道如何在我的计算机上运行的 Docker Desktop 实例上创建全新的 Kubernetes 集群 无论是 Mac 还是 PC 都没有关系 我知道如何设置当前集群上下文 但我只有一个集群 因此无法设置其他任何内容 What s
  • 如何从 Mac OS X 导出证书以获得一对 .cert 和 .key 文件?

    我在 Mac 10 10 1 上创建了证书 并且在钥匙串访问证书中拥有私钥 在 Windows 上我必须使用这个 并且我需要 cert 和 key 文件 如何导出该证书以获得这两个文件 我可以导出为 pb12 或 cert 但不能导出为 c
  • webview渲染完成后如何截图

    我想在 webview 渲染完成时截图 以下是我的代码 void webView WebView sender didFinishLoadForFrame WebFrame frame if frame sender mainFrame r
  • 写入 cgroup 参数 cpu.rt_runtime_us 时出错

    我正在尝试修改 cgroup 中 docker 容器进程的实时运行时参数 我正在关注这个教程 http www breakage org 2014 08 22 using sched fifo in docker containers on
  • nsq 无法通过连接到 nsqlookupd 来消费消息

    我尝试使用 docker compose 来运行 nsq docker compose yml如下 version 3 services nsqlookupd image nsqio nsq command nsqlookupd ports
  • 使用 xcassets 中的 imageNamed 加载 NSImage 在旧版 osx 版本中崩溃

    所以 我有一个在很多应用程序之间共享的 xcassets 我正在 Mac Mini 中使用 Xcode8 进行开发 其中安装了 MacOs Sierra 如果我在开发机上编译运行 就没有任何问题 然而 当我尝试在装有 OSX Maveric
  • 为什么 OS X 和 Linux 之间的 UTF-8 文本排序顺序不同?

    我有一个包含 UTF 8 编码文本行的文本文件 mac os x cat unsorted txt foo foo 津 如果它有助于重现问题 这里是文件中确切字节的校验和和转储 以及如何自己生成文件 在 Linux 上 使用base64 d
  • python:PyPi公共模块:如何确定是否安全?

    我已经完成了我的 python 3 应用程序 它正在使用 PyPi 的多个公共模块 然而 在我将其部署到我公司的企业 将处理客户的凭据并访问第 3 方 API 之前 我需要尽职调查确保它们既安全又安全 我必须执行哪些步骤 验证 PyPi 模
  • 在 Docker 容器中看不到 Django

    我想在一个简单的 Docker 容器中运行 Django 首先 我使用 Docker 文件构建了容器 里面没有什么特别的 只有 FROM RUN 和 COPY 命令 然后我用命令运行我的容器 docker run tid p 8000 80
  • excel 2010刷新BackgroundQuery中运行时错误1004

    我正在尝试用 vba 编写一个脚本 用于将多个文本文件导入 Excel 一张纸 然后将它们绘制在一张图表上 我面临一个问题刷新后台查询命令并出现 1004 运行时错误 我怎样才能解决它 谢谢 埃亚勒 这是我的代码 Sub fring1 Di
  • 在 MacOSX10.6 上运行 python 服务器时 MySQLdb 错误

    运行我的服务器 python manage py runserver 产生以下错误 django core exceptions ImproperlyConfigured 加载 MySQLdb 模块时出错 没有名为 MySQLdb 的模块
  • TOpenDialog/NSOpenPanel 无法在沙盒 Delphi 应用程序中工作

    Firemonkey 应用程序中的 TOpenDialog 似乎存在问题 该应用程序已针对 Mac Appstore 进行沙箱处理 我使用XE3 但它也存在于XE2中 我其实在这里找到了一份QC报告 但仍然没有解决 http qc emba
  • 如何使 SFSpeechRecognizer 在 macOS 上可用?

    我正在尝试使用 Apple 的语音框架在 macOS 10 15 1 上进行语音识别 在 macOS 10 15 之前 语音识别仅在 iOS 上可用 但根据文档 https developer apple com documentation
  • Mac OS X 下的 JavaFX:系统菜单和模态窗口

    我目前面临 Mac OS X 下的 JavaFX 菜单和模式对话框的问题 我正在使用该方法 MenuBar setUseSystemMenuBar true 为了将系统菜单栏用于我的应用程序菜单 这工作正常 但如果模式对话框打开 菜单不会被

随机推荐

  • 动态创建和下载Doc文件

    因此 我尝试动态创建 doc 文件并让用户在单击按钮时下载该文件 这些是我找到的用于下载文件的标头 header Content Description File Transfer header Content Type applicati
  • paymentId 和 TRANSACTIONID 之间的区别

    我正在从 REST 转向经典 API 而且我对两者都是新手 作为一名开发人员 我想记录付款的唯一标识符 以便将网站中的销售与 Paypal 付款 ID 相关联 例如我想要退款时 REST API 曾经给我付款 ID https stacko
  • 如何将列中的天数添加到 DB2 中的当前日期?

    我正在编写此 SQL 来动态计算一定的天数 如下所示 但我不知道如何让它工作 因为我不断收到错误 select Current Date Dynamic numbr of days calculation here from TableNa
  • 使用一次递归调用实现递归

    给定一个函数如下 f n f n 1 f n 3 f n 4 f 0 1 f 1 2 f 2 3 f 3 4 我知道使用递归来实现它 并在一个函数内进行三个递归调用 但我想在函数内仅使用一次递归调用来完成此操作 怎样才能做到呢 要实现使用
  • DataGridView 使用 Structure 和 LINQ 来排序 txt 文件

    当我的程序出现问题时 我能够将所有数据拉入网格并进入正确的列 行 但是 我相信我的 LINQ 查询是错误的 它没有使第三列正确划分并插入正确的数据 我的结果 https gyazo com 0f307a10dff4c015a361708ec
  • 使用 Mock 对 Laravel 5 Mail 进行单元测试

    有没有办法在 Laravel 5 中测试 Mail 尝试了我在互联网上看到的唯一合法的模拟示例 但它似乎只适用于 Laravel 4 下面的当前代码 mock Mockery mock Swift Mailer this gt app ma
  • 反转js对象中的键值

    我不知道如何改变 first de second ab de third de to de first second third ab second 我想将唯一值与包含键的列表相关联 我尝试过的 但我认为我离它还很远 const data
  • 将具有值的产品属性添加到 Woocommerce 中的产品

    我正在使用此代码添加自定义属性 attributes array array name gt Size options gt array S L XL XXL position gt 1 visible gt 1 variation gt
  • 编码杂志[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • TensorFlow 相当于 PyTorch 的 Transforms.Normalize()

    我正在尝试推断最初在 PyTorch 中构建的 TFLite 模型 我一直在遵循PyTorch 实现 https github com leoxiaobin deep high resolution net pytorch blob 1ee
  • opc ua客户端到服务器

    我想知道是否可以将数据从 OPC UA 客户端发送到服务器 我有一台设置了 OPC UA 服务器的 Windows 10 PC 和一些 Raspberry Pi 作为客户端 我已经编写了 Python 代码来将数据从服务器发送到客户端 现在
  • C++,set_terminate 是每个线程本地的吗?

    Should set terminate get terminate在 C 2011 或 C 2003 中为多个线程设置不同的终止异常处理器 例如 如果我有程序并将终止处理程序设置为func 1 然后我启动3个线程 新线程中的终止处理程序是
  • PayPal 定期付款:如何添加初始付款。

    我一直在使用实现一个功能 可以使用 PayPal 进行定期付款 并发送此请求 复制自https developer paypal com webapps developer docs api create a plan https deve
  • 如何使 FirebaseAuth.AuthStateListener 在 Kotlin 中工作?

    class LoginActivity AppCompatActivity private val firebaseAuth FirebaseAuth getInstance private val firebaseAuthListener
  • 读取混合(即文本和二进制)数据的最佳方法是什么?

    我需要能够读取混合二进制和非二进制数据的文件格式 假设我知道输入是好的 那么最好的方法是什么 作为示例 我们以一个文件为例 该文件的第一行是 double 换行符 0x0D 0x0A 后面是十个字节的二进制数据 当然 我可以计算换行符的位置
  • 如何查询集成服务目录

    问题 识别连接到 SQL Server 上特定数据库表的所有 SSIS 包 详细信息 服务器上部署了近 100 个包 大多数包的大小都很大 因此很难以高精度手动检查它们 有没有一种快速且自动化的方法来做到这一点 使用 SQL Server
  • java中监视目录变化

    我正在使用 WatchService 来监视目录中的更改 特别是目录中新文件的创建 下面是我的代码 package watcher import java nio file import static java nio file Stand
  • 对 os.listdir 文件进行排序 Python

    如果已下载数年的数据 这些数据存储在具有以下命名约定的文件中 year day dat 例如 名为 2014 1 dat 的文件包含 2014 年 1 月 1 日的数据 我需要按天排序读取这些数据文件 2014 1 dat 2014 2 d
  • 通过样式设置 DataGridCellsPresenter 的 ItemsPanel 不起作用

    我正在尝试设置ItemsPanel of a DataGridCellsPresenter在我的窗口的资源中 Bu
  • Docker 容器 - 如何配置使其在 vagrant 中运行时获得可行的 IP 地址?

    Docker www docker io 看起来棒极了 然而 安装 VirtualBox 后 Vagrant 最后是 Mac 上的 Docker 我发现无法从另一台计算机 或从 Mac 上的终端会话 访问 Docker 容器中运行的服务 我