gpt4 book ai didi

java - 运行自定义 Docker 镜像后出现 "Activemq not found"错误

转载 作者:行者123 更新时间:2023-12-01 18:22:57 24 4
gpt4 key购买 nike

我们有一个遗留应用程序,我正在尝试对其进行 dockerize。应用程序的 jar 将应用程序和 activemq 捆绑在一起。 (我们无法改变它的构建方式)。并有一定的安装步骤。我为此创建了以下初始 Dockerfile,但是当我运行该镜像时,我遇到了一个问题(在 Dockerfile 之后提到)。

Dockerfile 如下所示:

FROM registry:4000/openjdk:8-jre-alpine

RUN addgroup -S appuser && adduser -S -G appuser appuser

ADD ./fe.jar /home/appuser

RUN chmod +x /home/appuser/fe.jar \
&& chown appuser:appuser /home/appuser/fe.jar

USER appuser

RUN ["java", "-jar", "/home/appuser/fe.jar", "-i"]

WORKDIR /home/appuser/fe/activemq/bin

CMD ["/bin/sh", "-c", "activemq"]

RUN 命令将应用程序和该位置的 activemq 提取到名为 fe 的文件夹中。

WORKDIR 似乎直接将工作设置为 activemq/bin。我通过使用图像运行时触发的 sh 脚本确认了这一点。在 sh 脚本中,我触发 ls 和 pwd 命令来查看内容和位置。

但是,当我运行触发 CMD 命令的图像时,我收到错误:

/bin/sh: activemq: not found

这里可能出现什么问题?

最佳答案

如果 activemqbin 目录中的可执行文件(而不是在 PATH 中),那么您需要编辑 CMD:

CMD ["/bin/sh", "-c", "./activemq"]

还要确保您的脚本可执行。

关于java - 运行自定义 Docker 镜像后出现 "Activemq not found"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60276321/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com