在 Linux 上使用 confluence-kafka-go 构建 Go 应用程序

2023-12-21

我正在尝试使用我的 go 应用程序创建一个 docker 映像。该应用程序(在 MacOS 上开发)取决于confluent-kafka-go这又取决于librdkafka-dev我将其安装在 Docker 映像中,如下所示:

FROM golang:1.1
RUN apt-get update
RUN apt-get -y install librdkafka-dev

VOLUME /workspace
WORKDIR /workspace/src/my/app/folder
ENTRYPOINT ["/bin/sh", "-c"]

我收到以下错误:

我的/app/folder/vendor/github.com/confluenceinc/confluence-kafka-go/kafka ../folder/vendor/github.com/confluenceinc/confluence-kafka-go/kafka/00version.go:44:2: error: #error "confluence-kafka-go 需要 librdkafka v0.11.5 或更高版本。安装最新版本来自 Confluence 存储库的 librdkafka 版本,请参阅http://docs.confluence.io/current/installation.html http://docs.confluent.io/current/installation.html"

据我了解最新版本is安装。 我该如何修复它?


几周前我遇到了类似的问题。国际研究委员会confluent-kafka-go需要最新版本librdkafka-dev,它还没有发布给 alpine 或其他人。 不过,我能够在 ubuntu 上找到它,所以我的解决方案(比我希望的更复杂,但它有效)是从干净的 ubuntu 开始,安装librdkafka-dev,安装我想要的Go版本并在docker中编译。

它看起来是这样的:

FROM ubuntu

# Install the C lib for kafka
RUN apt-get update
RUN apt-get install -y --no-install-recommends apt-utils wget gnupg software-properties-common
RUN apt-get install -y apt-transport-https ca-certificates
RUN wget -qO - https://packages.confluent.io/deb/5.1/archive.key | apt-key add -
RUN add-apt-repository "deb [arch=amd64] https://packages.confluent.io/deb/5.1 stable main"
RUN apt-get update
RUN apt-get install -y librdkafka-dev

# Install Go
RUN add-apt-repository ppa:longsleep/golang-backports
RUN apt-get update
RUN apt-get install -y golang-1.11-go

# build the library
WORKDIR /go/src/gitlab.appsflyer.com/rantav/kafka-mirror-tester
COPY *.go ./
COPY // the rest of your go files. You may copy recursive if you want
COPY vendor vendor

RUN GOPATH=/go GOOS=linux /usr/lib/go-1.11/bin/go build -a -o main .

EXPOSE 8000

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

在 Linux 上使用 confluence-kafka-go 构建 Go 应用程序 的相关文章

  • 如何在 sles 12 中安装 docker?

    我想在我的 suse 系统中安装 docker stable 版本 版本 sles 12 在suse系统中安装docker 需要添加docker的仓库 我没有找到任何用于添加1 6版本的docker存储库的url 存储库url 我发现 do
  • 如何在 Docker 多阶段构建层中缓存 Maven 依赖项和插件?

    我想将 Maven 依赖项缓存在我的构建阶段的一层中Docker 多阶段构建 https docs docker com engine userguide eng image multistage build 我的 Dockerfile 如
  • 无法解析docker容器内的域名

    我在 Windows PC 上的 virtualbox 中运行 Linux 虚拟机 我在虚拟机中安装了docker 然后我使用以下命令启动了一个高山容器docker run it alpine 在这个容器中 我可以成功 ping 外部 IP
  • 无法解析 docker 容器之间的主机名

    我在单独的撰写文件中创建了两个容器 用于应用程序隔离 每个应用程序可能在撰写文件中定义了多个容器 例如后备数据库 这些容器通过名为 common 的外部网络链接 一个示例撰写文件是 version 2 services rabbitmq i
  • Windows Docker 在 hcssshim::System::CreateProcess 期间遇到错误:Windows 系统调用失败:系统找不到指定的文件

    我对 Docker 相当陌生 并尝试构建 Windows 容器 但当我运行它时遇到了这个问题 任何帮助 将不胜感激 base D src WebIntelligence bling blingDemo Models gt docker ru
  • Docker 容器中的并行代码执行

    我有一个通过 URLslist 抓取数据的脚本 该脚本在 docker 容器中执行 我想在多个实例中运行它 例如 20 个 为此 我想使用docker compose scale worker 20并将 INDEX 传递给每个实例 以便脚本
  • 如何获取已退出的 docker 容器的数字退出状态?

    当容器退出时 docker ps a显示其退出代码 滚动 docker run ubuntu bash c exit 1 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES c2c76
  • Docker 网络 - nginx:[emerg] 在上游找不到主机

    我最近开始迁移到 Docker 1 9 和 Docker Compose 1 5 的网络功能来取代使用链接 到目前为止 通过链接 nginx 通过 docker compose 连接到位于一组中不同服务器中的 php5 fpm fastcg
  • Docker、maven 和 settings.xml

    给出以下简单的 Dockerfile FROM maven 3 6 3 ibmjava 8 alpine Copy maven settings COPY settings xml usr share maven ref COPY pom
  • 对嵌套结构使用自定义解组时,GoLang 结构无法正确解组

    我们需要对嵌套在多个其他结构中的结构使用自定义解组器 而这些结构不需要自定义解组器 我们有很多类似的结构B下面定义的结构 类似于嵌套A 代码的输出是true false 0 预期的true false 2 有任何想法吗 Go 游乐场示例he
  • 如何检测 KTable 连接的哪一侧触发了更新?

    当您在 Kafka 中连接两个表时 每次更新两个 KTable 之一时 您的输出 Ktable 也会更新 想象一下你正在加入Customers与一个列表Orders你已经适当减少了 再次想象一下 您使用此连接的结果来为最终客户提供特别优惠和
  • 在 Windows 上构建 Docker 映像:入口点脚本“没有这样的文件或目录”

    我在这上面浪费了两天时间 直到我终于解决了我的问题 所以我想我会分享 我将概述我在这里遇到的问题 然后概述答案中的解决方案 My Dockerfile看起来像这样 FROM php 7 2 fpm COPY custom docker ph
  • 为 Ruby On Rails 环境创建 Docker 映像时出错(从 Dockerfile)

    估计是环境问题 当我手动执行此操作 没有 Dockerfile 时 它可以工作 这是我的 Dockerfile FROM ubuntu 14 04 RUN apt get update RUN apt get upgrade assume
  • 重启docker Windows 10命令行

    我试图弄清楚如何在命令行中重新启动 docker 以便我可以制作一个 bat 脚本来重新启动它并启动一些容器 我使用管理员访问权限创建了一个 dos 提示符并运行以下命令 PS C Windows system32 gt net stop
  • 管理多租户 ArangoDB 连接

    我使用 ArangoDB Go 使用 go driver 并且需要实现多租户 这意味着每个客户都将在单独的数据库中拥有他的数据 我想要弄清楚的是如何使这种多租户发挥作用 我知道为每个请求创建一个新的数据库连接是不可持续的 这意味着我必须维护
  • Kafka不启动空白输出

    我正在努力安装 Kafka 和 Zookeeper 我已经运行了 Zookeeper 并且它当前正在运行 我将所有内容设置为 https dzone com articles running apache kafka on windows
  • 更改Docker容器中的mysql密码

    我如何更改 docker 容器中的 root 密码 因为一旦我停止 mysql 服务 容器就会自动停止 我应该停止 mysql 容器并部署一个新容器吗 您可以使用正在运行的容器更改它docker exec session https doc
  • 为什么我无法从外部连接到 Kafka?

    我在 ec2 实例上运行 kafka 所以amazon ec2实例有两个ip 一个是内部ip 第二个是外部使用的 我从本地计算机创建了生产者 但它重定向到内部 IP 并给我连接不成功的错误 任何人都可以帮助我在 ec2 实例上配置 kafk
  • 如何从 Dockerfile 安装 Python 3.7 和 Pip

    我正在尝试构建基于 Ubuntu 18 04 的自定义 Docker 映像 Ubuntu 预装了 Python 3 6 但我想 1 安装 Python 3 7 2 将其设置为默认 Python 版本 这样就可以使用python代替pytho
  • 导入错误:没有名为 google.auth 的模块

    当我尝试导入时firebase admin in python 2 7我收到错误 导入错误 没有名为 google auth 的模块 这是Docker文件 https github com ammaratef45 Attendance bl

随机推荐

  • 如何从符号数值转换为二进制补码

    我如何从符号大小转换为二进制补码 我不知道从哪里开始 任何帮助 将不胜感激 我只能使用以下操作 gt gt sm2tc Convert from sign magnitude to two s complement where the MS
  • 如何在没有 UBO 的情况下进行批处理?

    我正在尝试为 WebGL 渲染器实现批处理 由于绘制调用过多 该渲染器正在处理大量小对象 我的想法是 我将按照它们使用的着色器类型对它们进行批处理 然后一次绘制一些 上传每个对象的材质参数和模型矩阵一次 我的问题是 非 UBO 制服的制服尺
  • 使用 PyPlot 绘制平滑线

    我有以下绘制图表的简单脚本 import matplotlib pyplot as plt import numpy as np T np array 6 7 8 9 10 11 12 power np array 1 53E 03 5 9
  • 为什么调试器不在断点处停止?

    我遇到的问题是 每次执行某个函数时 JS 的 chrome 调试器都不会停止 我尝试过调试器 还可以通过在左侧行旁边的装订线上放置一个蓝色标签来设置我希望代码停止的断点 任何想法为什么会发生这种情况 如果没有明确的复制计划 就很难判断为什么
  • Telerik_Web_UI_WebResource_axd 问题

    当我运行我的网站时 我收到以下错误消息 无法添加类型为 add 的重复集合条目 且唯一键属性 名称 设置为 Telerik Web UI WebResource axd 这是 web config 的内容
  • 使用 jQuery 或 JavaScript 绑定到自定义 CSS 动画结束事件?

    我们对同一个对象有多个动画 当每个动画结束时 我们需要采取不同的操作 现在 我们绑定到webkit动画结束事件 并使用粗糙的 if then 语句以不同的方式处理每个动画 有没有一种方法可以本质上创建自定义webkit动画结束事件 允许我们
  • 记忆游戏图形java

    我正在编写一个 4x4 记忆游戏程序 这 16 个盒子里有一对 0 到 7 的整数 我已经将所有这些都随机化并正确编码了 现在我试图弄清楚每次鼠标单击该框时如何将颜色与相应的整数配对 这里是大部分代码 我知道这个游戏的逻辑还没有开始 但我现
  • 如何在Python中绘制簇?

    我正在使用 python sklearn cluster 进行聚类 我有 61 个数据 每个数据的维度都是 26 原始数据 UserID Communication dur Lifestyle dur Music Audio dur Oth
  • 如何拒绝 IP 上的 HTTPS 请求并仅允许域名?

    我如何停止 Windows Server 2008 R2 IIS 7 来响应 IP 上的 HTTPS 请求 我只想允许它仅使用域名 示例 https ipaddress 阻止 https domain com 允许 None
  • 执行两个线程,在主线程继续运行时等待另一个线程

    如何启动两个线程 其中线程 1 首先执行 线程 2 在线程 1 结束时启动 而主方法线程可以继续其工作而无需锁定其他两个线程 我已经尝试过 join 但是它需要从必须等待另一个的线程调用 没有办法做像 thread2 join thread
  • 如何求解形式幂级数中的微分方程?

    我想要由微分方程隐式定义的形式幂级数的前几个系数 Example import sympy as sp sp init printing math as latex from IPython display import display z
  • 如何在解析的 Jenkinsfile 变量末尾去除某种形式的换行符

    我想在 Jenkinsfile 的阶段之间传递变量 并按照人们的建议进行操作 通过写入文件然后解析它 stage 1 steps sh echo value gt var txt script VALUE readFile var txt
  • 如何阻止 iframe cookie?

    有没有办法阻止 iframe cookie 该解决方案不应该特定于浏览器 我必须根据他 她的同意允许 阻止第三方 cookie 下载到用户系统 有什么办法可以做到这一点吗 使用javascript 您只能访问在您的域和路径中有效的cooki
  • PHP 中的日期函数总是给出晚一天的日期

    我的情况是日期总是晚一天 例如我有这个值 243219600这是相对于日期的1962年4月18日 After a date d m Y 243219600 输出是 17 04 1962 243219600自 1970 年 1 月 1 日 0
  • Redux - 将 ownProps 参数传递给选择器

    我无法传递变量ownProps from mapStateToProps到选择器 我的选择器 export const nameSelector createSelector state gt state element get name
  • 谷歌地图方向和路线附近区域

    我如何使用谷歌地图做类似图像中的事情 有人知道如何做到这一点吗 这是路线方向附近的方向和区域 绿色不透明区域 我会通过使用来解决这个问题路线API https developers google com maps documentation
  • 使 div 内容响应式

    我的内容目前没有响应 我在 iPhone 上测试过 文本会显示在屏幕上 我已将容器的 CSS 更改为 container2 width 960px max width 90 position relative left 50 margin
  • 有没有办法将 url 添加为 Visual Studio 项目的链接

    有没有一种方法可以将 URL 添加到 Visual Studio 项目或解决方案 以便单击它时网页会作为 VS 中的选项卡式文档显示 我希望将 MantisBT 网页作为 Visual Studio 中的选项卡 这似乎是最好的方法 如果我在
  • 为什么同一个可执行文件对不同的库查找使用不同的 RUNPATH?

    我有一个 Linux C 程序 可以构建和链接 使用 Wl no undefined 不少 但当我尝试运行它时无法加载它的所有库 我一直在尝试检查它的依赖关系ldd 但我不明白为什么它会被失败的库绊倒 ldd standalone test
  • 在 Linux 上使用 confluence-kafka-go 构建 Go 应用程序

    我正在尝试使用我的 go 应用程序创建一个 docker 映像 该应用程序 在 MacOS 上开发 取决于confluent kafka go这又取决于librdkafka dev我将其安装在 Docker 映像中 如下所示 FROM go