Docker镜像运行结果在path中找不到可执行文件

这是前一个问题的延续: 该命令返回一个非零的代码:127 。 我正在尝试构build并运行下面的Dockerfile供其他人使用。 我原来的问题是构build失败,由于configuration文件不加载(在上述问题奇妙地回答),现在我试图让它正常运行。

这里是我目前所使用的Dockerfile,现在它已经有了一个SHELL的步骤,现在已经很好了(忘记了这个想法是为了更简单的安装也使用了whalebrew)。

FROM ocaml/opam SHELL ["/bin/sh", "-lc"] LABEL io.whalebrew.name 'ocp-indent' LABEL io.whalebrew.config.working_dir '/workdir' WORKDIR /workdir RUN opam init --auto-setup RUN opam install --yes ocp-indent RUN ocp-indent --help ENTRYPOINT ["ocp-indent"] CMD ["--help"] 

然后我得到一个错误: Error response from daemon: oci runtime error: container_linux.go:262: starting container process caused "exec: \"ocp-indent\": executable file not found in $PATH". 正如在另一个问题的答案中提到的那样,可以为入口点创build一个.sh文件,运行chmod脚本,并对Dockerfile进行一些其他更改。

最终,我试图让人们想要安装这个尽可能容易。 例如: whalebrew install <name>后跟ocp-indent --version应该像这样输出它的版本。 他们不应该再做任何事情。

我仍然在学习Docker,他们的文档实际上相当不错,但很难排除故障。