这是上一个问题的延续: The command returned a non-zero code: 127。我试图构建并运行下面的Dockerfile以供其他人使用。我的原始问题是由于配置文件没有加载而导致构建失败(在上面的问题中得到了很好的回答),现在我试图让它正常运行。
这是我目前正在使用的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"]
然后我通过docker run -it <image id>
运行它,但是我收到一个错误:Error response from daemon: oci runtime error: container_linux.go:262: starting container process caused "exec: \"ocp-indent\": executable file not found in $PATH".
正如在另一个问题的答案中提到的,可以为入口点创建一个.sh文件,运行一个chmod脚本,并对Dockerfile进行一些其他更改。
最终,我试图让想要安装它的人尽可能轻松。例如:whalebrew install <name>
后跟ocp-indent --version
应该输出它的版本。他们不应该做更多的事情。
我还在学习Docker,他们的文档实际上非常好但很难解决问题。