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의 답변에 설명되어 있습니다.