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
有任何想法吗?
在RUN bundle安装到Dockerfile之前添加这一行对我来说是个窍门。
RUN gem install bundler -v 2.0.1
离开这里以备将来参考!
我认为您需要升级到捆绑器2附带的ruby映像(例如FROM ruby:2.6.3
),或者使用您要使用的捆绑器版本重新绑定Gemfile.lock
。或者至少那对我有用的东西。
它没有像Bundler guides所建议的那样调整环境变量。
这个github issue让我觉得这是预期的行为,但我可能完全错了。
在您的Gemfile.lock中,您可以在底部找到捆绑版本:
BUNDLED WITH
2.0.1
请确保您使用正确的版本捆绑它