Я пытаюсь запустить образ payara/micro docker и развернуть свое приложение (военный файл) из целевого каталога maven.
Я использую это изображение: https://hub.docker.com/r/payara/micro
На странице я слежу за разделом Run from a mounted volume
.
Мой сценарий оболочки (в корневом каталоге) выглядит так:
#!/bin/bash
set -eu
mvn clean package
docker run --rm \
-p 8080:8080 \
-v ~/target:/opt/payara/deployments \
payara/micro
Но когда я запускаю скрипт, приложение не развертывается на сервере payara. Я безуспешно пытался обновить строку с помощью -v $(pwd)/target:/opt/payara/deployments \
, и в корневой папке рядом с целевой папкой, содержащей мой военный файл, создается новая пустая папка с именем target;C
.
Я предполагаю, что мой вопрос; как я могу запустить контейнер payara/micro
и развернуть свой файл target/myapp.war
на сервере из моего сценария оболочки?
Поскольку я еще не получил ответа, я хочу добавить свое собственное решение. Я вроде обманул, но все равно сработало. Я объединил свой сценарий оболочки с Dockerfile.
Я добавил этот Dockerfile в корень моего проекта:
FROM payara/micro
COPY target/myapp.war $DEPLOY_DIR
Затем я обновил свой сценарий оболочки следующим образом:
#!/bin/bash
set -eu
mvn clean package
docker build -t my-image .
docker run -p 8080:8080 my-image
Теперь все работает нормально.