从 shell 脚本在 payara micro docker 图像中部署应用程序

Deploy application in payara micro docker image from shell script

我尝试 运行 payara/micro docker 图像并从 maven 目标目录部署我的应用程序(war 文件)。

我使用这张图片: https://hub.docker.com/r/payara/micro

在页面上,我正在关注 Run from a mounted volume 部分。

我的 shell 脚本(在根目录中)如下所示:

#!/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 \ 更新行但没有成功,并且在包含我的 war 文件的目标文件夹旁边的根文件夹中创建了一个名为 target;C 的新空文件夹。

我想我的问题是;我如何 运行 payara/micro 容器并将我的 target/myapp.war 文件从我的 shell 脚本部署到服务器?

由于我还没有得到答案,我想添加我自己的解决方案。我有点作弊,但它还是奏效了。我将 shell 脚本与 Dockerfile 组合在一起。

我将这个 Dockerfile 添加到我的项目根目录中:

FROM payara/micro
COPY target/myapp.war $DEPLOY_DIR

然后,我更新了我的 shell 脚本,如下所示:

#!/bin/bash
set -eu

mvn clean package

docker build -t my-image .

docker run -p 8080:8080 my-image

现在一切正常。