【问题标题】:Docker: kafka confluent go client errorDocker:kafka confluent go客户端错误
【发布时间】:2018-12-17 06:46:58
【问题描述】:

我正在尝试将 apache kafka 与 go 一起使用,当我使用 go run 执行项目时情况看起来不错,但是当我使用 docker build 时出现错误......

# pkg-config --cflags rdkafka
Package rdkafka was not found in the pkg-config search path.
Perhaps you should add the directory containing `rdkafka.pc'
to the PKG_CONFIG_PATH environment variable
No package 'rdkafka' found
pkg-config: exit status 1

我从https://github.com/confluentinc/confluent-kafka-go安装了librdkafka

 git clone https://github.com/edenhill/librdkafka.git
 cd librdkafka
 ./configure --prefix /usr
 make
 sudo make install

我试过了

  1. PKG_CONFIG_PATH=/usr/lib/pkgconfig
  2. 源 ~/.bashrc

但不是运气。任何帮助表示赞赏。

【问题讨论】:

  • 嗯,你在哪里添加了 rdkafka?
  • librdkafka 好像没有安装?无论如何,这就是错误消息所指示的内容。如果你已经安装了,那么请edit问题详细说明你是如何安装的。另见this GitHub issue btw
  • 您好 Martin,它已安装。 go run 一切正常。问题出在 docker build 上。我也试过你建议的链接,但没有帮助。
  • 你好 Cricket,我在 dockerfile 中使用 RUN go get ./。
  • 您只将它安装在主机系统上,而不是在 Docker 容器内?

标签: apache-kafka confluent-platform


【解决方案1】:

您可能应该在项目根目录中包含 librdkafka.dll、msvcr120.dll 和 zlib.dll。至少这是我应该做的才能在 Windows 上完成这项工作。不确定 Linux。

【讨论】:

    【解决方案2】:

    Dockerfile 中的以下行对我有用,因为它设置了环境变量,并且当从生成的图像运行容器时,这将持续存在。

    ENV PKG_CONFIG_PATH ${PKG_CONFIG_PATH}:/usr/lib/pkgconfig/

    【讨论】:

      猜你喜欢
      • 2021-12-12
      • 1970-01-01
      • 2019-08-05
      • 2018-07-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多