6.6 KiB
Docker compose для сборки и запуска Entaxy.
Запуск локального окружения с несколькими docker контейнерами: * Караф * Брокер * СУБД * Менеджер артефактов
Для начала клонируем репозиторий и переходим в корень проекта:
git clone <entaxy-framework-repository>
cd entaxy-framework
Далее у нас есть разные варианты хранения необходимых для установки Entaxy артефактов. ### 1. Самый простой способ: локальный репозиторий артефактов включаеться в образ карафа. В корневом POM находится профиль для деплоя артефактов в образ карафа:
profile>
<id>docker.file.repo</id>
<distributionManagement>
<snapshotRepository>
<id>entaxy-maven-repo-file</id>
<url>file:./temp/entaxy-docker/karaf/repo</url>
<snapshotRepository>
</distributionManagement>
</profile> </
Запускаем мевен деплой из корня проекта с этим профилем:
mvn deploy -P docker.file.repo
И после успешной сборки запускаем контейнеры из директории проекта, в которой находится docker-compose.yml:
cd ./temp/entaxy-docker
docker-compose up
Или docker compose up
для новых версий docker. После
запуска комманды мы будем видеть прогресс сборки образов, запуска
контейнеров и логи запущенных приложений. Для остановки контейнеров
достаточно нажать сочетание клавиш Ctrl+C или через команды запущенные
из другого окна/вкладки терминала.
docker-compose stop
docker-compose start
После запуска контейнеров открываем новый терминал и заходим в караф:
docker-compose exec karaf /opt/apache-karaf/bin/client
или ssh клиент с дальнейшим вводом пароля (karaf)
ssh -p 8101 karaf@localhost
И в консоли карафа запускаем скрипт с установкой необходимых фич:
shell:source ./install.karaf
Ждём окончания деплоя в караф. (Не всегда полная установка проходит с
первой попытки и тогда помогает повторный запуск
source install.karaf
)
2. Reposilite: легковесный http репозиторий артефактов запускается в отдельном контейнере.
Комментируем в файле install.karaf строку начинающуюся с:
config:property-set -p org.ops4j.pax.url.mvn org.ops4j.pax.url.mvn.repositories file:/opt/apache-karaf/repo
И убираем комментарий в строке начинающейся:
#config:property-set -p org.ops4j.pax.url.mvn org.ops4j.pax.url.mvn.repositories http://maven-repo/snapshots
Запускаем контейнеры из директории проекта, в которой находится docker-compose.yml:
cd ./temp/entaxy-docker
docker-compose up
Или docker compose up
для новых версий docker. После
запуска комманды мы будем видеть прогресс сборки образов, запуска
контейнеров и логи запущенных приложений. Для остановки контейнеров
достаточно нажать сочетание клавиш Ctrl+C или через команды запущенные
из другого окна/вкладки терминала.
docker-compose stop
docker-compose start
Для деплоя в reposilite добавляем учётные данные в конфигурацию
мавена (~/.m2/settings.xml
):
settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
< xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
servers>
<server>
<id>entaxy-maven-repo</id>
<username>admin</username>
<password>aW7frfS9NPGrOnuNBMf9gyO0eXNRaCoOGtXHTcLU5akDFJ9ACiUJhgmZxlOKnLC5</password>
<server>
</servers>
</settings> </
В корневом POM находится профиль для деплоя артефактов на сервер reposilite:
profile>
<id>docker.reposilite</id>
<distributionManagement>
<snapshotRepository>
<id>entaxy-maven-repo</id>
<url>http://127.0.0.1:8081/snapshots</url>
<snapshotRepository>
</distributionManagement>
</profile> </
Запускаем мевен деплой из корня проекта с этим профилем:
mvn deploy -P docker.reposilite
После успешной сборки открываем новый терминал и заходим в караф:
docker-compose exec karaf /opt/apache-karaf/bin/client
или ssh клиент с дальнейшим вводом пароля (karaf)
ssh -p 8101 karaf@localhost
И в консоли карафа запускаем скрипт с установкой необходимых фич:
shell:source ./install.karaf
Ждём окончания деплоя в караф. (Не всегда полная установка проходит с
первой попытки и тогда помогает повторный запуск
source install.karaf
)
Также есть вариант с nexus После старта получаем пароль для admin
через команду:
docker-compose exec nexus cat /nexus-data/admin.password
.
Через админку нужно разрешить анонимный деплой или настроить доступы.
Урл для install.karaf
http://nexus:8081/repository/maven-snapshots/@id=local-nexus@snapshots@noreleases
Остановить все контейнеры docker-compose down
Остановить
и удалить хранилища с БД и репой docker-compose down -v