3
votes

Comment ajouter Java 11 sur Dockerfile

J'essaye de créer un Dockerfile où Java11 doit être "chargé".

Cependant, quand j'essaye:

RUN add-apt-repository -y ppa:linuxuprising/java 

alors j'obtiens cette erreur:

/ bin / sh: 1: add-apt-repository: introuvable La commande '/ bin / sh -c add-apt-repository -y ppa: linuxuprising / java' a renvoyé un code différent de zéro: 127

Ma question est de savoir comment pourrais-je "installer" Java11 sur Docker?


3 commentaires

Je ne suis pas sûr du contexte, mais vérifiez ceci: dzone .com / articles / création-d'une-image-docker-avec-ubuntu-et-j‌ ava


Vous pouvez utiliser l'image Java 11 de hub.docker.com en tapant la commande: docker pull openjdk: tag sur le terminal de votre machine, où le tag est la version de votre version Java prévue. Ou vous pouvez simplement spécifier l'image sur votre Dockerfile où l'attribut FROM doit être la version de java.


@dipoisola J'avais l'habitude de faire la même chose, mais pour Java11 ça ne marche pas ..


3 Réponses :


6
votes

En supposant qu'il n'est pas possible de baser votre image sur une image OpenJDK officielle .

Découvrez comment il est installé dans l'image officielle Dockerfile (ou le référentiel ).

Il existe également des images alternatives, comme AdoptOpenJDK ( Dockerfile basé sur Ubuntu) < / p>


6 commentaires

Salut Gonzalo et merci pour l'aide. Cependant, je ne suis pas en mesure de baser mon image sur l'officiel .. Je vais essayer de faire en sorte que cela se produise après ce que vous avez dit.


Je préférerais vraiment avoir "FROM Ubuntu" dans mon Dockerfile. Pensez-vous qu'il existe un moyen de faire cela? Désolé pour le désagrément mais je suis vraiment nouveau dans cette technologie! Merci encore!


Il existe des images AdoptOpenJDK basées sur Ubuntu -> github.com/AdoptOpenJDK/openjdk-docker/blob/master/11/jdk/...


Liens morts 12345


votre deuxième lien est obsolète, est-ce que Dockerfile est toujours accessible au public quelque part? Je dois l'installer sur une base ubuntu, donc je ne peux pas utiliser l'image de base officielle


Mise à jour du lien Dockerfile, semble que lorsqu'ils ont ajouté des variantes de l'image, ils ont modifié la structure du répertoire.



1
votes

Votre erreur spécifique que vous receviez est parce que software-properties-common n'est pas installé.

Assurez-vous donc de faire ce qui suit avant add-apt-repository -y ppa: linuxuprising / java :

RUN apt-get update \
    && apt-get install -y software-properties-common


0 commentaires

1
votes

Pour CentOS dans votre image docker, vous pouvez toujours utiliser:

FROM centos
RUN yum install -y java-11


0 commentaires