我正在尝试使用apama-builder构建一个简单的HelloWorld docker镜像。然而,我得到了以下错误:
INFO: copying the project file from /app/HelloWorld to output directory /app/deployed
ERROR: Failed to create correlator initialization list: /app/deployed
The command '/bin/sh -c engine_deploy --outputDeployDir /app/deployed /app/HelloWorld' returned a non-zero code: 100我的Docker文件如下所示:
# Use the build environment
FROM store/softwareag/apama-builder:10.3 as builder
# Copy project assets into build environment
COPY --chown=1724:1724 . /app/HelloWorld
# Deploy the apama project
RUN engine_deploy --outputDeployDir /app/deployed /app/HelloWorld
# Add any additional build steps you may have, such as building plugins, here
# RUN ...
# Final image is based on the runtime base image
FROM store/softwareag/apama-correlator:10.3
# Copy deployed project from the build environment
COPY --chown=1724:1724 --from=builder /app/deployed /app/deployed
# Add copies for any additional build artifacts created in the build environment
# COPY --from=builder ...
WORKDIR /app
# Run the deployed project
CMD ["correlator", "--config", "Project_deployed", "--logfile", "/dev/stdout"]注意,我使用的是CentOS,我的HelloWorld应用程序位于/app/HelloWorld,我希望输出位于/app/deployed。
发布于 2019-04-02 21:55:59
有几个问题,但它源于部署进程不是以root用户身份运行的事实,因此无法创建输出目录。它最初也愚弄了我:)
首先,
# Copy project assets into build environment
COPY --chown=1724:1724 . /app/HelloWorld工作,但engine_deploy不能,因为它不能访问/app/deployed
因此,如果将engine_deploy行更改为
RUN engine_deploy --outputDeployDir ${APAMA_WORK}/deployed /app/HelloWorld它将在“工作”目录中创建可运行的应用程序部署,通常为/apama_work
现在,因为它不是您放置它的位置,所以您需要更改构建器中的副本
# Copy deployed project from the build environment
COPY --chown=1724:1724 --from=builder ${APAMA_WORK}/deployed ${APAMA_WORK}/deployed最后,CMD线需要更改
# Run the deployed project
CMD ["correlator", "--config", "deployed", "--logfile", "/dev/stdout"]匹配输出目录
https://stackoverflow.com/questions/55474823
复制相似问题