2017-04-21 1 views
0

제가 만들고자하는 컨테이너에는 /usr/lib/jvm/java-8-openjdk-amd64에 설치된 JVM이 필요합니다. 내가 라인을 추가했습니다Docker가 JVM을 찾을 수 없습니다.

RUN ./installer.sh --javahome /usr/lib/jvm/java-8-openjdk-amd64 

to 내 Dockerfile.

Searching for JVM on the system... 
Java Runtime Environment (JRE) was not found at the specified location /usr/lib/jvm/java-8-openjdk-amd64 
The command '/bin/sh -c ./installer.sh --javahome /usr/lib/jvm/java-8-openjdk-amd64' returned a non-zero code: 4 

업데이트 여기

전체 부두 노동자가

FROM scratch 
MAINTAINER Oracle Linux Product Team <[email protected]> 
ADD oraclelinux-7.3-rootfs.tar.xz/

# overwrite this with 'CMD []' in a dependent Dockerfile 
CMD ["/bin/bash"] 

RUN useradd me 
ADD . . 

RUN ./installer.sh --javahome /usr/lib/jvm/java-8-openjdk-amd64 
+1

Docker 파일 표시 – user2915097

+0

@ user2915097 Dockerfile을 추가했습니다. – Olumide

+0

oraclelinux-7.3-rootfs.tar.xz 파일의 내용을 볼 수있는 권한이 없어도이 질문에 답변 할 수 있다고 생각하지 않습니다. – BMitch

답변

1

사용하려는 오라클의 리눅스 이미지 파일 것하지 않습니다하지만 난 여전히 오류 메시지가 받고 있어요 java 포함 :

$ docker run -it --rm oraclelinux:7.3 /bin/bash 
[[email protected] /]# ls -al /usr/lib/jvm/java-8-openjdk-amd64 
ls: cannot access /usr/lib/jvm/java-8-openjdk-amd64: No such file or directory 
[[email protected] /]# ls /usr/lib/ 
binfmt.d/  dracut/   kernel/   modprobe.d/  python2.7/  sse2/   systemd/  udev/ 
debug/   games/   locale/   modules-load.d/ rpm/   sysctl.d/  tmpfiles.d/  yum-plugins/ 
[[email protected] /]# find . -name java 
./etc/pki/ca-trust/extracted/java 
./etc/pki/java 

java를 설치하려면이 작업을 수행하기 위해 취한 reproducible steps을 포함해야합니다.

참고 일반적으로이 이미지 빌드의 업스트림 부분을 복제하는 대신 FROM oraclelinux:7.3 이미지를 빌드합니다.

+0

단순히'docker build -t nameofcontainer. '명령을 실행하여 앱을 만들려고했지만, 먼저 Oracle 이미지를 실행하고 환경 내에'install.sh'를 실행하여 접근 방식을 시도해보십시오. OpenJDK Dockerfile은 https://github.com/oracle/docker-images/blob/master/OpenJDK/java-8/Dockerfile에서 찾았습니다. 여기에는 OpenJDK를 설치하는 데 필요한 명령이 포함되어 있습니다. – Olumide

0

Docker 허브의 official OpenJDK image을 처음부터 모든 것을 빌드하는 대신 Dockerfile의 기초로 사용하는 것도 고려해 볼 수 있습니다.

컨테이너 내 사용자 공간으로 Oracle Linux를 사용해야하는 경우 Oracle OpenJDK image 또는 Oracle Java 8 JDK을 대신 확장해야합니다.

FROM scratch 이미지를 작성하는 것은 매우 드뭅니다.

+0

감사합니다. 추가 고려 사항이 있습니다. 설치해야하는 응용 프로그램은 GUI를 시작하고 인간의 개입이 필요합니다. 조언 해 줄 수 있니? – Olumide

+0

GUI가 없거나 사람이 개입하지 않아도 설치 방법을 알아야합니다. 이들 중 어느 것도 가능하지 않습니다. – Djelibeybi

관련 문제