我正在安装minikube
作为下面的一部分Dockerfile
:
FROM jenkins/jnlp-agent-alpine
RUN curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 && \
install minikube-linux-amd64 /home/jenkins/minikube -o jenkins -g jenkins -m 777 && \
rm minikube-linux-amd64
构建并运行映像后:
$docker build -t app:latest .
$docker run -it app:latest bash
#minikube` binary exists
bash-5.1$ls -l minikube
-rwxrwxrwx 1 jenkins jenkins 74953166 Jul 19 15:44 minikube
#however running the binary `minikube` returns `No such file or directory` error:
bash-5.1$ ./minikube
bash: ./minikube: No such file or directory
作为调试的一部分,我将jenkins
用户设为 的所有者minikube
并将其权限设置为777
,但仍然没有帮助。
为什么No such file or directory
会出现错误以及如何解决?
答案1
该minikube
二进制文件链接到 GNU C 库,但您的图像基于 Alpine,它使用穆斯勒。运行minikube
失败,因为它指定的动态链接器 ( /lib64/ld-linux-x86-64.so.2
) 不存在。
如果您想使用minikube
,您需要找到基于 musl 的构建(或静态构建),或者切换到使用 GNU C 库的基础映像。