imagenes hub java docker

hub - la instalación docker java7 falla



java 11 docker image (3)

Estoy intentando instalar java7 a través de ppa (RUN add-apt-repository ppa: webupd8team / java -y) en mi imagen de ventana acoplable pero falla con este error:

returned a non-zero code: 127

Las siguientes son formas sugeridas de instalar correctamente pero no funciona. He probado ambas ppas también.

RUN apt-get install python-software-properties -y RUN add-apt-repository ppa:webupd8team/java -y #RUN add-apt-repository ppa:eugenesan/java -y RUN apt-get update RUN apt-get install oracle-java7-installer -y

Aquí está la salida del registro:

Step 28 : RUN add-apt-repository ppa:webupd8team/java -y ---> Running in b278761a4209 [91m/bin/sh: 1: add-apt-repository: not found [0m

Entonces ... necesito averiguar dónde / si este comando existe en una biblioteca auxiliar o qué:

add-apt-repository

add-apt-repository parece ser parte de la instalación de python-software-properties. No veo ningún error real en ese paso, excepto por estos mensajes que aparecen en otras áreas de la compilación. Entonces asumo que si puedo resolver este problema, el paso de Python mencionado anteriormente se instalará según sea necesario:

[91mdebconf: unable to initialize frontend: Dialog debconf: (TERM is not set, so the dialog frontend is not usable.) debconf: falling back to frontend: Readline [0m[91mdebconf: unable to initialize frontend: Readline debconf: (This frontend requires a controlling tty.) debconf: falling back to frontend: Teletype [0m[91mdpkg-preconfigure: unable to re-open stdin:

Asi que. ¿Cómo configurar un término o diálogo? Pensé que el -y permitió esto


El comando -y en sus comandos de apt-get install le dice a apt-get que "asuma que sí", que no es lo mismo que ejecutar en modo no interactivo.

Está viendo los mensajes "no se puede inicializar frontend: Dialog" porque Debian está ejecutando apt-get en modo interactivo. Para indicarle que se ejecute en modo no interactivo, agregue esta línea al inicio de su Dockerfile:

ENV DEBIAN_FRONTEND noninteractive

Ahora sus comandos se ejecutarán en modo no interactivo, por lo que apt-get no intentará abrir ningún cuadro de diálogo.

En cuanto a su error real, tiene razón, add-apt-respository es una parte de las python-software-properties . Intente colocar su comando apt-get update -y sobre su comando apt-get install python-software-properties .

RUN apt-get update -y && / apt-get install python-software-properties -y && / add-apt-repository ppa:webupd8team/java -y && / apt-get update -y && / apt-get install oracle-java7-installer -y && / oracle-java7-set-default

Tenga en cuenta que deberá ejecutar dos comandos apt-get update -y , uno antes de comenzar (siempre es un buen hábito) y otro después de haber agregado el PPA de Oracle Java.

apt-get manual

Docker ENV docs


Intenté algunas cosas diferentes en vano, así que opté por OpenJDK. Esto me hizo pasar este paso y al siguiente error :-).

# method 2 RUN apt-get install openjdk-7-jre -y


add-apt-repository comando add-apt-repository es una parte del software-properties-common pakage. Instale software-properties-common, no python-software-properties.

Luego puede agregar el repositorio ppa: webupd8team. Pero todavía hay un problema.

Configure la licencia aceptada-oracle-v1-1 e instale java. A continuación la muestra Dockerfile funcionará perfectamente.

FROM ubuntu:14.04 RUN apt-get update RUN apt-get install software-properties-common -y RUN add-apt-repository ppa:webupd8team/java -y RUN apt-get update RUN echo debconf shared/accepted-oracle-license-v1-1 select true | debconf-set-selections RUN apt-get install oracle-java7-installer -y