【问题标题】:docker run <image> : /usr/bin/env: ruby.exe : No such file or directorydocker run <image> : /usr/bin/env: ruby​​.exe : 没有这样的文件或目录
【发布时间】:2017-05-27 12:35:46
【问题描述】:

我正在尝试运行我的图像,但我收到标题中描述的错误,似乎无法找到文件/目录。我用谷歌搜索并找到了各种修复方法,但对我没有任何帮助。

在容器日志中我发现 /usr/bin/env: ruby​​.exe : No such file or directory, 所以那里似乎有问题。

我的 Dockerfile:

FROM ruby:2.3.3

# Set the working directory to /app
RUN apt-get update -qq && apt-get install -y build-essential nodejs

ENV APP_HOME /fitnesspage

RUN mkdir $APP_HOME

ADD . $APP_HOME

WORKDIR $APP_HOME

ADD Gemfile* $APP_HOME/

RUN bundle install

RUN chmod 0777 -R $APP_HOME

RUN useradd -m myuser
USER myuser

CMD bin/rails server

我的垃圾箱/导轨:

#!/usr/bin/env ruby.exe
APP_PATH = File.expand_path('../config/application', __dir__)
require_relative '../config/boot'
require 'rails/commands'

我认为从我正在阅读的内容来看,它与 Dockerfile 中的 CMD 有冲突,但我不知道如何继续修复它。我试图在 bin/bundle、bin/rails 和 bin/rake 中将 #!/usr/bin/env ruby​​.exe 更改为 #!/usr/bin/env ruby​​。除了错误之外没有任何区别。

编辑: 错误改为 /usr/bin/env: ruby​​ : No such file or directory 。

【问题讨论】:

  • /usr/bin/env: ruby​​ : 没有这样的文件或目录
  • “除了错误没有区别”。错误变成了什么?啊。好的,现在我明白了。
  • 我会在前面放一个 echo PATH 看看它是否包含红宝石。如果没有,让它包含它。并且可能会删除 .exe 部分。
  • 不好意思,把echo PATH放在哪里?
  • @Robert 解决了它!我已经坚持了很长一段时间了。您可能应该将其添加为答案,否则我会自行回答,以防其他人像我一样坚持下去。

标签: docker


【解决方案1】:

试试这个:

CMD ruby bin/rails server

似乎 /usr/bin/env 无法找到 Ruby。但是当你使用官方的 ruby​​ 基础镜像时,ruby 命令是可用的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-20
    • 2013-03-11
    • 1970-01-01
    • 2017-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多