当前位置: 首页 > 面试题库 >

找不到入口点文件

程树
2023-03-14
问题内容

我有使用此命令的docker映像:

FROM ruby:2.4-alpine
WORKDIR /usr/src/app

COPY Gemfile /usr/src/app/Gemfile
COPY Gemfile.lock /usr/src/app/Gemfile.lock

RUN bundle config build.nokogiri --use-system-libraries
RUN bundle install --without development test

VOLUME /state

COPY . /usr/src/app/

ENTRYPOINT ["api-entrypoint.sh"]
CMD ["foreman", "start"]

它可以正确构建,但是例如当我尝试运行bash时,我得到了 container_linux.go:247: starting container process caused "exec: \"api-entrypoint.sh\": executable file not found in $PATH" docker: Error response from daemon: oci runtime error: container_linux.go:247: starting container process caused "exec: \"api- entrypoint.sh\": executable file not found in $PATH".

我尝试复制入口点文件,并赋予它可执行权限,但CMD没有任何效果


问题答案:

/ usr / src /
app可能不在您的路径中,因此您应该包括脚本的完整路径。您还需要确保entrypoint.sh是可执行的,docker将完全按照您的构建主机上的权限复制权限,因此根据您的情况,可能不需要此步骤。

FROM ruby:2.4-alpine
WORKDIR /usr/src/app

COPY Gemfile /usr/src/app/Gemfile
COPY Gemfile.lock /usr/src/app/Gemfile.lock

RUN bundle config build.nokogiri --use-system-libraries
RUN bundle install --without development test

VOLUME /state

COPY . /usr/src/app/
RUN chmod 755 api-entrypoint.sh

ENTRYPOINT ["/usr/src/app/api-entrypoint.sh"]
CMD ["foreman", "start"]


 类似资料:
  • 问题内容: 我正在尝试遵循简单的GUI代码: 该代码的编译和生成没有任何错误或警告。但是,当我尝试从命令行运行它时,出现以下错误: 双击生成的exe文件时,出现一个包含以下消息的对话框: 我运行CCleaner并修复了大量注册表问题,但上述问题仍然存在。 我正在Windows7上使用以下版本: 问题在哪里,如何解决?谢谢你的帮助。 问题答案: 您需要一个清单,指示Windows加载常用控件。您是否

  • 我只是在用java阅读输入文件,直到我在最基本的步骤上被难住了。。。正在查找输入文件! 输入。txt文件与调用它的类文件位于同一目录中,但eclipse仍给我一个错误,即找不到它: "线程"main"中的异常java.lang.错误:未解决的编译问题:未处理的异常类型FileNotFoundException" 我的代码: 输入txt在同一个包、同一个文件夹和所有内容中。我很困惑:(

  • 来自服务器的错误(InternalError):创建“stdin”时出错:发生内部错误:调用webhook“validate.nginx.ingress.kubernetes.io”失败:Post https://ingress-nginx-controller-crission.ingress-nginx.svc:443/extensions/v1beta1/ingress?timeout=30

  • 我一直在遵循gRPC教程,这非常好。当我尝试将https://github.com/grpc-ecosystem/grpc-gateway添加到我的项目时,问题就开始了。我使用他们给你的命令: 我在我的原型中导入包: 我在上面的“文件未找到”行收到错误。当我复制项目中的文件时,它们会被找到,但当我运行命令时 它会抱怨找不到文件。 有人能告诉我如何使grpc网关正常工作的正确方法吗? 我目前使用Go

  • 我有一个在windows 2003 server之前运行良好的应用程序。最近我们迁移到Windows server 2012 R2 64位。因为我们迁移到了64位windows,所以我们也迁移到了64位JAVA。 问题是:最初我们得到的错误是32位ntvinv。dll“无法在AMD 64位平台上加载IA 32位.dll”,因此我们下载了64位版本的ntvinv。来自jIntegra网站的dll。现