0

我尝试运行 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 服务器。我尝试更新该行但没有成功,并在包含我的 war 文件的目标文件夹旁边的根文件夹中创建了-v $(pwd)/target:/opt/payara/deployments \一个具有该名称的新空文件夹。target;C

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

4

1 回答 1

0

由于我还没有得到答案,我想添加我自己的解决方案。我有点作弊,但它仍然有效。我将我的 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

现在一切正常。

于 2020-12-23T14:05:34.953 回答