我正在尝试使用dockerfile安装php7-mongodb。直到昨天,同样的方法仍然有效,但是今天dockerbuild抛出以下错误
Step 4/12 : RUN apk add php7-mongodb
---> Running in b6713ea15c9d
php7-mongodb (missing):
ERROR: unsatisfiable constraints:
required by: world[php7-mongodb]
The command '/bin/sh -c apk add php7-mongodb' returned a non-zero code: 1
我尝试在dockerfile中进行apk更新和apk升级,但仍然无法正常工作。知道问题是什么吗?
我正在使用阿尔卑斯山边缘作为基本版本。
我们可以通过使用以下dockerfile
重新创建问题FROM alpine:edge
RUN echo "http://dl-cdn.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories
RUN apk update && apk upgrade
RUN apk add php7-mongodb
答案 0 :(得分:3)
tldr:程序包在3.9中重命名为php7-pecl-mongodb
,在更高版本中不再存在
该包已通过以下提交重命名为php7-pecl-mongodb
:https://git.alpinelinux.org/aports/commit/?id=b3d534d73c690baf458d9cda5dca5ee52ca9cafc
但是此软件包不久后就被删除,原因是该软件包进行了非免费的许可证更改:https://git.alpinelinux.org/aports/commit/community/php7-pecl-mongodb/APKBUILD?id=8a901de31fa055ed591d487e12f8bb9ffcc0df21
答案 1 :(得分:1)
使用Alpine 3.8将为您解决此问题。更改
spark-shell --driver-class-path=$SPARK_HOME:$(hbase classpath)
收件人
FROM alpine:edge
您还需要更改存储库URL,使其指向v3.8。我一直在使用main,所以第二行对我来说如下所示。
FROM alpine:3.8
我认为旧版本不存在RUN echo "http://dl-cdn.alpinelinux.org/alpine/v3.8/main" >> /etc/apk/repositories
,因此您需要进行试验以找出适合您的版本。或者也许其他人可以为我们澄清这一点。
这意味着您没有使用最新的Alpine,但可以构建容器。
答案 2 :(得分:0)
根据https://pkgs.alpinelinux.org/packages?name=php7-mongodb&branch=edge,高山边缘版本中没有这样的软件包。
回购中带有php7-mongodb
软件包的最新高山版本似乎是3.8:https://pkgs.alpinelinux.org/packages?name=php7-mongodb&branch=v3.8
我无法告诉您3.9和edge中不包含此软件包的原因。但是,如果这是您的选择,请使用alpine:3.8
作为基础图像,而不是alpine:edge