Образ 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 будет высоко оценено.

Другие вопросы по тегам