由于 mongodb 更改了许可证,3.9 之后的 alpine 版本不再以 apk 包的形式在 alpine 存储库中提供。
有什么办法可以在较新的 Alpine 上安装它吗?
我不确定这里的最终结果是什么 - 我们会永远绑定到旧的 Alpine 版本,还是被迫只使用官方 mongo 非 alpine docker 镜像?
答案1
不是理想或长期的解决方案,但遵循本中描述的程序回答通过 Nikolay,您可以mongodb
通过将 apk 连接到旧的 Alpine 存储库来安装旧 Alpine 版本的依赖项:
echo 'http://dl-cdn.alpinelinux.org/alpine/v3.9/main' >> /etc/apk/repositories
echo 'http://dl-cdn.alpinelinux.org/alpine/v3.9/community' >> /etc/apk/repositories
apk update
apk add mongodb yaml-cpp=0.6.2-r2
mongo -version
yaml-cpp
需要注意的是,由于以下原因,您必须固定到 0.6.2 版本:突破性 ABI 变更- 否则mongo
动态链接将失败。
答案2
官方网站上有一些适用于 linux Legacy x64 的 mongodb-*.tgz 软件包:
-https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.6.17.tgz
-https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.17.tgz
...
这些可以在alpine linux 3.11中正常工作。