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ライブラリを使用する基本イメージに切り替える必要があります。
答え2
コンテナ内では、次のコマンドを使用してminikubeを実行できます。
/lib/ld-musl-x86_64.so.1 minikube
に基づいてこれ回答
@Stephen Kittの回答に記載されています。