Образ Docker для запуска среды enRoute OSGi?
Я хочу попробовать запустить enRoute внутри контейнера Docker, но не могу найти никаких образов Docker. Кто-нибудь может подсказать местоположение изображения?
1 ответ
OSGi enRoute использует Bndtools. Там вы можете экспортировать файл bndrun в исполняемый файл JAR (см. Базовое руководство и особенно его развертывание). Поэтому вам нужно иметь только образ Java 8. Это нетривиальная задача, потому что Oracle довольно раздражает в отношении их авторских прав, но есть на ggtools/java8
образ. Поэтому для запуска исполняемого JAR-файла OSGi enRoute в Docker вы можете использовать следующий Dockerfile:
FROM ggtools/java8
MAINTAINER pkriens@gmail.com
CMD java -jar test.jar
ADD test.jar test.jar
Затем вы можете построить и запустить следующим образом:
$ ls
Dockerfile
test.jar
$ docker build .
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
<none> <none> 491dc47dbee6 About a minute ago 174.8 MB
<none> <none> 0e3b6c01e0b6 5 weeks ago 176.2 MB
ubuntu latest 1c9b046c2850 7 months ago 187.9 MB
ggtools/java8 latest dcdcbb7229ba 8 months ago 168.5 MB
$ docker run 491dc47dbee6
Welcome to Apache Felix Gogo
g! eval:eval 3+4+5+6+7+8+9
42.0
Если это работает для вас, то примечание по применению для сайта OSGi enRoute будет высоко оценено.