【问题标题】:Accessing kafka running on the local machine from Docker Toolbox.?从 Docker Toolbox 访问本地机器上运行的 kafka。?
【发布时间】:2020-05-03 15:54:55
【问题描述】:

我在本地 Windows 机器上安装了一个 kafka 集群,我想从部署为 docker 工具箱中的容器的 Spring Boot 应用程序访问这个集群,这是我的 application.properties 文件。

kafka.bootstrapAddress = 127.0.0.1:9092

当我启动容器时,我使用主机网络,但它不起作用。

docker run spring-app:latest --network host

那么我怎样才能访问这个集群。 ? 提前谢谢你。

【问题讨论】:

  • 您是否收到任何错误消息?您能否详细说明您所期望的和行不通的?如果将 127.0.0.1 替换为 0.0.0.0 会有所不同吗?
  • Docker Toolbox 在专用 VM 中运行,因此“主机”网络使用 VM 的网络(而不是外部的物理主机)。如果进程直接在 VM 上而不是在 Docker 中运行,它将如何到达 Kafka 代理?
  • 是的,这正是我要找的,我如何将虚拟机网络绑定到本地机器网络,所以当我使用 127.0.0.1 Docker Toolbox 连接到本地机器而不是虚拟机。

标签: docker docker-toolbox


【解决方案1】:

docker run reference来看,docker run命令用法是这样的:

$ docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG...]

您没有正确提供--network 选项。该选项必须位于镜像名称之前,而镜像名称之后的任何内容都将作为命令和参数传递给创建的容器。

您应该如何调用该命令来纠正您的问题:

$ docker run --network host spring-app:latest

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-02
    • 1970-01-01
    相关资源
    最近更新 更多