Ruby on rails rails docker组件包安装错误

Ruby on rails rails docker组件包安装错误,ruby-on-rails,rubygems,docker-compose,Ruby On Rails,Rubygems,Docker Compose,我在ruby on rails上编写docker时遇到问题。 当我跑的时候 docker-compose run web bundle install 我有消息说我的gems安装成功了,但在下一步中我会运行它 docker-compose up 然后我得到了我的容器退出的信息,代码为1。我查看了docker日志,得到了 Could not find gem XXXXXXXXX in any list of sources(Bundler::GemNotFound) 有趣的是我没有用这个宝石

我在ruby on rails上编写docker时遇到问题。 当我跑的时候

docker-compose run web bundle install
我有消息说我的gems安装成功了,但在下一步中我会运行它

docker-compose up
然后我得到了我的容器退出的信息,代码为1。我查看了docker日志,得到了

Could not find gem XXXXXXXXX in any list of sources(Bundler::GemNotFound)
有趣的是我没有用这个宝石


此外,当我在容器外部(本地机器上)运行bundle install时,一切都很好。问题出在哪里?请帮助我,我也有同样的问题,我解决了

运行容器的捆绑包版本是什么?您可以在
Gemfile.lock
“BUNDLED WITH…”中的最后一行检查它。(使用:
docker-run-ti-sfcr\u-web/bin/bash访问,然后运行
tail-n2-Gemfile.lock

可能您在本地机器/docker容器中使用不同的gem版本

如果您不需要该gem,您可以执行
gem卸载xxxx
。也可能是因为您的docker compose没有使用上一个docker映像,所以您的更改没有生效,请尝试:

  • docker图像
    ,检查您以前的图像
  • docker rmi您的\u图像\u名称
  • docker container prune
    ,删除未使用的容器并启动新容器

  • docker容器上升

  • docker container up
    说它没有命令
    up
    docker compose version 1.24.1,build 4667896b
    docker version 19.03.3,build a872fc2
    。提前谢谢。我在我的Dockerfile中运行了
    gem update--system
    ,这是安装了最新的bundler(目前为2.2.12),并将其设置为使用。我还运行了
    gem install bundler-v 2.2.2
    ,它正在安装该版本,但没有被使用。我的Gemfile.lock在2.2.2上有它。这是一个难以调试的错误,argh