Dockerfile中的alpine linux apk安装错误

Dockerfile中的alpine linux apk安装错误,linux,dockerfile,alpine,alpine-package-keeper,Linux,Dockerfile,Alpine,Alpine Package Keeper,我试图在Dockerfile中执行以下代码: 来自阿尔卑斯山的:3.7 运行apk更新和apk添加--无缓存busybox musl prometheus节点导出器 运行rc更新添加prometheus节点导出器默认值 运行rc服务prometheus节点导出器启动 运行echo“-job\u name:节点\ #如果安装了prometheus node exporter,请获取有关本地节点的统计信息\ #默认情况下,这台机器\ 静态\u配置:\ -目标:['localhost:9100','a

我试图在Dockerfile中执行以下代码:

来自阿尔卑斯山的
:3.7
运行apk更新和apk添加--无缓存busybox musl prometheus节点导出器
运行rc更新添加prometheus节点导出器默认值
运行rc服务prometheus节点导出器启动
运行echo“-job\u name:节点\
#如果安装了prometheus node exporter,请获取有关本地节点的统计信息\
#默认情况下,这台机器\
静态\u配置:\
-目标:['localhost:9100','alpine_发行版:9100']“>>/etc/prometheus/prometheus.yml
但是我的构建返回以下错误:

ERROR: 
unsatisfiable constraints:
  prometheus-node-exporter (missing):
    required by: world[prometheus-node-exporter]

The command '/bin/sh -c apk update && apk add --no-cache busybox musl prometheus-node-exporter' returned a non-zero code: 1
我不习惯使用Alpine package manager,但我猜我可能没有使用包含
普罗米修斯节点导出器的回购


还是我遗漏了什么?

如果出于某种原因您被迫使用Alpine 3.7,您可以从Alpine 3.13社区repo安装该软件包:

$ sudo docker run -it alpine:3.7
/ # apk add prometheus-node-exporter --repository=http://dl-cdn.alpinelinux.org/alpine/v3.13/community
fetch http://dl-cdn.alpinelinux.org/alpine/v3.13/community/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.7/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.7/community/x86_64/APKINDEX.tar.gz
(1/1) Installing prometheus-node-exporter (1.0.1-r0)
Executing prometheus-node-exporter-1.0.1-r0.pre-install
 24% ###################################                                                                                                            
Executing busybox-1.27.2-r11.trigger
OK: 20 MiB in 14 packages
/ # 
/ # 
/ # node_exporter --help
usage: node_exporter [<flags>]
...

但是,如果您有此选项,建议将您的基础Alpine版本升级到3.13。

Alpine 3.7是一个非常旧的版本,您使用它有正当的理由吗?仅供参考,一年多以来不再支持:
我可能不会使用包含prometheus node exporter的回购?
是。3.7中没有这样的包。使用最新的阿尔卑斯山。
/ # ldd /usr/bin/node_exporter
    /lib/ld-musl-x86_64.so.1 (0x7fea4c68a000)
    libc.musl-x86_64.so.1 => /lib/ld-musl-x86_64.so.1 (0x7fea4c68a000)