Rails docker-compose 捆绑包安装错误

Jur*_*jka 5 rubygems ruby-on-rails docker-compose

我在 ruby​​ on Rails 上的 docker-compose 遇到问题。当我跑步时

docker-compose run web bundle install
Run Code Online (Sandbox Code Playgroud)

我有信息表明我的宝石安装成功,但是在下一步时我运行

docker-compose up
Run Code Online (Sandbox Code Playgroud)

然后我得到的信息是我的容器以代码 1 退出。我查看了 docker 日志,得到的信息是

Could not find gem XXXXXXXXX in any list of sources(Bundler::GemNotFound)
Run Code Online (Sandbox Code Playgroud)

有趣的是我不使用这个宝石。

此外,当我在容器外部(在我的本地计算机上)运行捆绑安装时,一切正常。哪里可能有问题?请帮忙

小智 1

我有同样的问题,我解决了。

运行容器的捆绑包版本是什么?您可以在“BUNDLED WITH ...”的最后一行进行检查Gemfile.lock。(通过以下方式访问:docker run -ti sfcr_web /bin/bash并运行tail -n 2 Gemfile.lock

也许您在本地计算机/docker 容器中使用不同的 gem 版本。

gem uninstall xxxx如果您不需要该宝石,也可以这样做。另外,您的更改也可能不会生效,因为您的 docker-compose 没有使用最后一个 docker 映像,请尝试:

  1. docker images,检查您以前的图像
  2. docker rmi your_image_name
  3. docker container prune,删除未使用的容器并启动新容器。
  4. docker container up