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 № 1Como 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:
- Faça isso corretamente e adicione java a uma linha RUN apt-get em seu Dockerfile, OU
- (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.