2016-07-21 2 views
2

Я пробовал использовать докер. Я устанавливаю docker инструмента и бегу. Я dovnload изображение ubuntu и запускаю на докере. Я делаю все этим linkКак установить java на ubuntu на докере?

Для установки убунту я docker run -it ubuntu bash

После этого я бегу этот убунту docker run -i -t ubuntu:latest /bin/bash

После старта я поместил [email protected]:/#

Теперь я хочу установить Java и запустить некоторые приложения на это java.

Я попытался установить Java [email protected]:/# apt-get install default-jre

Когда Installed я пытаюсь запустить эту команду java -version и я вижу

[email protected]:/# 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) 

после этого я выйти из убунту

[email protected]:/# exit 

и запустить снова. И когда ubuntu начал, я попробовал

[email protected]:/# java -version 
bash: java: command not found 

Как я могу установить java или запустить эту версию java?

+0

Вы пытаетесь использовать контейнер Docker как обычной виртуальной машине? На самом деле это не так. Вы должны написать 'Dockerfile', который начинается с нужного базового изображения Ubuntu, устанавливает Java, копирует ваше приложение и устанавливает его для запуска. – jonrsharpe

+0

@jonrsharpe OK. скажем, я создал файловый докер. Тогда что я с этим делаю? Я думаю, что это так - я запускаю докер. установите все необходимые программы (java, db, некоторые утилиты). проверьте, как это работает. Если все хорошо, я создаю изображение. затем я устанавливаю это изображение в другой докер на другом компьютере. – user5620472

+0

Данные Docker не сохраняются в контейнере, если они не связаны с томом, который отображается в файловой системе. –

ответ

0

Вы должны совершить обновленное изображение после установки Ubuntu.Try следующее после установки Java на подножку контейнере:

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

Тогда:

docker commit container_id ubuntu_with_java 

Это создаст новое изображение с имя "ubuntu_with_java".

+2

[* "Как правило, лучше использовать Dockerfiles для управления вашими изображениями документально и поддерживаемым способом. *] (Https://docs.docker.com/engine/reference/commandline/commit/) – jonrsharpe

1

почему бы не использовать официальные Java изображения, или альпийские Java, и просто положить в Dockerfile

FROM java

или

FROM anapsix/alpine-java

? У вас установлена ​​функциональная Java-платформа и вы можете делать все, что хотите.

См

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

для некоторого Java от Докер ступицы

Вы должны прочитать хорошие ссылки, предоставленные jonrsharpe

+0

Как редактировать dockerfile? – user5620472

+0

с любым текстовым редактором, vim, emacs, vi, gedit, geany, kate ... – user2915097

+0

как вы используете Windows, notepad ++ - хороший редактор – user2915097

0

Контейнер представляет собой единый объект, содержащийся. Все изменения, которые вы вносите в него, по существу теряются, когда вы завершаете и перезапускаете его.Есть 2 решения его хотя:

  1. ли это правильно, и добавить Java в RUN APT-получить строку в вашем Dockerfile, ИЛИ
  2. (Плохо плохо плохо) Добавьте его и надеюсь, что ваш хозяин никогда не выходит вниз.

В зависимости от того, что вы хотите (Ubuntu или контейнер для запуска приложения Java), вы должны либо использовать метод в 1., либо создать новый файл Docker, который захватывает базовое изображение FROM Java8.

Смежные вопросы