您必须将Bundler 2或更高版本与此lockfile一起使用。在本地运行docker-compose时

问题描述 投票:0回答:3

Docker的新功能,我一直试图将它与我的rails项目一起使用但是无法启动它。

尝试更改ruby版本,并搜索网络,但大多数问题涉及将应用程序部署到heroku,这不是我的情况。

Docker文件:

FROM ruby:2.4.1
RUN mkdir /zssn
WORKDIR /zssn
COPY Gemfile /zssn/Gemfile
COPY Gemfile.lock /zssn/Gemfile.lock
RUN gem install bundler
RUN bundle --version
RUN bundle install
COPY . /zssn

CMD ["rails", "server"]

多克尔 - 撰写,阳明海运

version: '3'
services:
  web:
    build: .
    command: rails s -p 3000 -b '0.0.0.0'
    volumes:
      - .:/zssn
    ports:
      - "3000:3000"

码头工人建造。 --no-cache,运行bundler命令安装它时似乎工作正常。

 ---> Running in d4650608f428
Successfully installed bundler-2.0.1

有任何想法吗?

ruby-on-rails ruby docker docker-compose dockerfile
3个回答
1
投票

在RUN bundle安装到Dockerfile之前添加这一行对我来说是个窍门。

RUN gem install bundler -v 2.0.1

离开这里以备将来参考!


0
投票

我认为您需要升级到捆绑器2附带的ruby映像(例如FROM ruby:2.6.3),或者使用您要使用的捆绑器版本重新绑定Gemfile.lock。或者至少那对我有用的东西。

它没有像Bundler guides所建议的那样调整环境变量。

这个github issue让我觉得这是预期的行为,但我可能完全错了。


0
投票

在您的Gemfile.lock中,您可以在底部找到捆绑版本:

BUNDLED WITH
2.0.1

请确保您使用正确的版本捆绑它

© www.soinside.com 2019 - 2024. All rights reserved.