Docker-在构建时安装的Ruby依赖项在容器启动时不可用
我正在Dockerfile中运行以下命令: 在我的entrypoint.sh中,我正在运行bundle安装。但这是一个错误: 未找到捆绑包 经过进一步调查,我发现Docker构建期间安装的依赖项在容器运行时似乎都不可用。我可能错过了一些非常基本的东西。非常感谢您的帮助。entrypoint.sh不加载rvm,因此它看不到rvm安装的Ruby或其捆绑程序Docker-在构建时安装的Ruby依赖项在容器启动时不可用,ruby,docker,dockerfile,Ruby,Docker,Dockerfile,我正在Dockerfile中运行以下命令: 在我的entrypoint.sh中,我正在运行bundle安装。但这是一个错误: 未找到捆绑包 经过进一步调查,我发现Docker构建期间安装的依赖项在容器运行时似乎都不可用。我可能错过了一些非常基本的东西。非常感谢您的帮助。entrypoint.sh不加载rvm,因此它看不到rvm安装的Ruby或其捆绑程序 通过添加,在entrypoint.sh中加载rvm/etc/profile.d/rvm.sh和rvm使用。。在使用Ruby之前。您的入口点是否加
通过添加,在entrypoint.sh中加载rvm/etc/profile.d/rvm.sh和rvm使用。。在使用Ruby之前。您的入口点是否加载rvm?您是指源rvm吗?我的建议是使用ruby:2.5-alpine3.7之类的东西,而不是在docker构建期间通过rvm安装ruby。这就是为什么,如果entrypoint没有使用rvm安装的ruby,它将看不到任何ruby或捆绑包。我确实尝试过。它像黄油一样起作用。但官方ruby图像中存在安全漏洞,因此无法使用。我不能使用ruby 2.5,必须坚持使用ruby 2.3。
RUN apt-get update && apt-get -y install gnupg2
RUN gpg2 --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3
RUN curl -sSL https://get.rvm.io | bash -s
RUN /bin/bash -l -c ". /etc/profile.d/rvm.sh && rvm install 2.3.1 && rvm use --default 2.3.1 && gem install bundler"
# some more code
ENTRYPOINT ["/entrypoint.sh"]