【发布时间】:2020-06-02 04:54:05
【问题描述】:
我们有一个旧应用程序,我正在尝试对其进行 docker 化。应用程序的 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
这可能是什么问题?
【问题讨论】:
标签: java docker dockerfile