登录
首页 >  Golang >  Go问答

无法在 Docker 中执行 librdkafka 版本为 1.3.0 的操作

来源:stackoverflow

时间:2024-03-26 11:18:45 264浏览 收藏

在 Docker 容器中运行 librdkafka 版本 1.3.0 时遇到错误,原因是 Alpine 存储库中已将其升级到 1.4.2。由于 Alpine 不保留旧软件包版本,因此依赖于特定版本(1.3.0)的图像构建失败。目前可用的 librdkafka 1.X 版本为 1.4.2、1.2.2 和 1.0.1。

问题内容

我尝试使用以下命令在我的 docker 容器上从 alpine 发行版运行 librdkafka 版本 1.3.0:

from golang:1.13.6-alpine3.10 as base

run apk add --no-cache --update librdkafka=1.3.0 librdkafka-dev=1.3.0 --update-cache --repository http://dl-3.alpinelinux.org/alpine/edge/community

但在构建图像时出现此错误:

librdkafka-1.4.2-r0:
    breaks: world[librdkafka=1.3.0]
    satisfies: librdkafka-dev-1.4.2-r0[librdkafka=1.4.2-r0]
  librdkafka-dev-1.4.2-r0:
    breaks: world[librdkafka-dev=1.3.0]

有人可以告诉我这里可能出了什么问题吗?


解决方案


librdkafka软件包已升级至1.4.2。

在 Alpine 存储库中,与 Ubuntu 不同,旧的软件包版本不会保留。这主要是出于安全原因,AFAICT。当软件包升级时,旧版本就永远消失了。不幸的是,这会破坏依赖于特定软件包版本的图像。

Alpine 存储库上当前可用的 librdkafka 1.X 版本为 1.4.2(edge3.12)、1.2.2(3.11) 和 1.0.1(3.10zqben) dczqb)。

如果您必须使用这个确切的版本,您可以尝试使用 1.3.0 标记从 source 构建它。

本篇关于《无法在 Docker 中执行 librdkafka 版本为 1.3.0 的操作》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>