我正在使用 ammonite 运行 scala 脚本。我需要通过 JAVA_OPTS 来限制 ammonite 消耗的内存。根据ammonite docs,我可以这样做
JAVA_OPTS='-Xmx<limit>' amm <scala script>
现在我想在一个 docker 容器中运行这个脚本,我正在这样做:
FROM <open jdk image>
WORKDIR /opt/docker
ADD scm-source.json /
ADD --chown=daemon:daemon deps/amm /opt/docker
RUN mkdir amm_home && chown daemon:daemon amm_home
RUN mkdir data && chown daemon:daemon data
ADD --chown=daemon:daemon UserPrefExporter.sc /opt/docker
USER daemon
ENTRYPOINT ["./amm", "-h", "amm_home", "UserPrefExporter.sc"]
这运行良好并运行脚本。问题在于将 JAVA_OPTS 传递给 amm。
ENTRYPOINT 要求第一个参数是可执行文件,但我想在 amm 之前有 JAVA_OPTS。
如何做到这一点?