Ruby on rails 错误:找不到有效的gem';轨道';(>;=0),原因如下:在docker容器内

Ruby on rails 错误:找不到有效的gem';轨道';(>;=0),原因如下:在docker容器内,ruby-on-rails,docker,Ruby On Rails,Docker,我有一个docker容器,如下所示: FROM ruby:2.6.2 当我通过docker进入容器时运行-it container\u ID/bin/bash并运行 gem install rails 我得到以下错误: 错误:找不到有效的gem“rails”(>=0),原因如下: 无法从下载数据-无此名称() 我找到的一个解决办法是 gem sources -a http://rubygems.org 但它不起作用 我也试过了 gem update --system 但也不起作用,把错误

我有一个docker容器,如下所示:

FROM ruby:2.6.2
当我通过docker进入容器时运行-it container\u ID/bin/bash并运行

gem install rails
我得到以下错误:

错误:找不到有效的gem“rails”(>=0),原因如下: 无法从下载数据-无此名称()

我找到的一个解决办法是

gem sources -a http://rubygems.org
但它不起作用

我也试过了

gem update --system
但也不起作用,把错误扔给了我

错误:执行gem时。。。(Gem::RemoteFetcher::UnknownHostError) 没有这样的名字()

在容器外,命令运行良好。顺便说一句,我正在运行docker 19.03.5。任何宝石也会发生这种情况

问题的根源可能是什么


提前谢谢

试试这样的东西

FROM ruby:2.6.3-alpine3.10

RUN apk update \
  && apk add --virtual build-dependencies \
  imagemagick \
  gcc \
  wget \
  git \
  && apk add \
  build-base postgresql-dev tzdata less \
  bash

RUN gem install rails

WORKDIR /myapp
COPY Gemfile* ./
RUN bundle install
COPY . .
CMD ["bundle", "exec", "puma", "-C", "/app/config/puma.rb"]


试试这样的

FROM ruby:2.6.3-alpine3.10

RUN apk update \
  && apk add --virtual build-dependencies \
  imagemagick \
  gcc \
  wget \
  git \
  && apk add \
  build-base postgresql-dev tzdata less \
  bash

RUN gem install rails

WORKDIR /myapp
COPY Gemfile* ./
RUN bundle install
COPY . .
CMD ["bundle", "exec", "puma", "-C", "/app/config/puma.rb"]


你好!谢谢你的提问。我现在尝试了以下方法:我按照我在问题中解释的方式输入容器,然后在运行bundle安装之后,我创建了一个带有以下“source'gem'rails”的Gemfile,但仍然会遇到一个错误,如:由于错误而重试抓取程序(2/4):Bundler::HTTPError无法从中获取规范。您能向我解释一下任务的全部要点吗?也许我会帮助您。我的目标是拥有一个用于ruby on rails开发的容器。并在容器中使用
bundle exec
。您有任何问题吗?我今天将测试它!我只是不明白为什么要重新安装docker..您好!谢谢我现在尝试了以下方法:我输入容器的方式与我在问题中解释的方式相同,然后在运行bundle安装之后,我创建了一个带有以下“source'gem'rails”的Gemfile,但我仍然会遇到一个错误,如:由于错误而重试fetcher(2/4):Bundler::HTTPError无法从中获取规范您能向我解释一下任务的全部要点吗?也许我会帮助你。我的目标是为ruby on rails开发一个容器。并在容器中使用
bundle exec
。你有什么问题吗?我今天要考!我只是不明白我为什么要重新安装docker。。