/ / Como instalar o java para o Ubuntu no Docker? - java, linux, ubuntu, docker

Como instalar o java ao ubuntu no docker? - java, linux, ubuntu, docker

Eu tentei usar o docker. Eu instalo a ferramenta de encaixe e corro. Eu faço download da imagem do Ubuntu e rodar no docker. Eu faço tudo por isso ligação

Para instalar o ubuntu eu usei docker run -it ubuntu bash

Depois disso eu corro este Ubuntu docker run -i -t ubuntu:latest /bin/bash

Depois do começo eu coloquei root@9bca9a2a537d:/#

Agora eu quero instalar o java e iniciar algum aplicativo neste java.

Tentei instalar java root@cf50a6fdfc10:/# apt-get install default-jre

Quando esta instalado eu tento executar este comando java -version e eu vejo

root@2e62f448f783:/# java -version
openjdk version "1.8.0_91"
OpenJDK Runtime Environment (build 1.8.0_91-8u91-b14-0ubuntu4~16.04.1-b14)
OpenJDK 64-Bit Server VM (build 25.91-b14, mixed mode)

depois disso eu sair do Ubuntu

root@2e62f448f783:/# exit

e corra novamente. E quando o Ubuntu começou eu tento

root@20cefe55e2eb:/# java -version
bash: java: command not found

Como posso instalar o java ou iniciar esta versão do java?

Respostas:

3 para resposta № 1

Como paulscott56 dito, você pode adicionar essas linhas no seu Dockerfile:

RUN apt-get update && 
DEBIAN_FRONTEND=noninteractive 
apt-get -y install default-jre-headless && 
apt-get clean && 
rm -rf /var/lib/apt/lists/*

https://hub.docker.com/r/pataquets/default-jre-headless/~/dockerfile/


1 para resposta № 2

por que não usar as imagens oficiais de Java, ou o Java alpino, e apenas colocar em seu Dockerfile

FROM java

ou

FROM anapsix/alpine-java

? Você tem um Java funcional instalado e pode fazer o que quiser.

Vejo

http://hub.docker.com/search/?isAutomated=0&isOfficial=0&page=1&pullCount=0&q=java&starCount=0

para algum Java do hub do docker

Você deve ler os bons links fornecidos por jonrsharpe


0 para resposta № 3

Você terá que confirmar a imagem atualizada depois de instalar o Ubuntu.Experimente o seguinte após instalar o java no contêiner em execução:

docker ps -l #get current container ID , let"s sat it is "container_id"

Então :

docker commit container_id ubuntu_with_java

Criaria uma nova imagem com o nome "ubuntu_with_java".


0 para a resposta № 4

O contêiner é uma entidade contida única. Todas as alterações feitas a ele são essencialmente perdidas quando você é encerrado e reiniciado. Existem duas soluções para ele:

  1. Faça isso corretamente e adicione java a uma linha RUN apt-get em seu Dockerfile, OU
  2. (Bad bad bad) Adicione e espere que seu host nunca desça.

Dependendo do que você deseja (Ubuntu ou um contêiner para executar um aplicativo Java), você deve usar o método em 1. ou criar um novo Dockerfile que capture a imagem base FROM Java8.