如何捆绑安装本地路径gem与docker?

sch*_*cho 2 gem ruby-on-rails docker

我正在使用docker和rails.

我创建了一个本地gem并将其放入vendor/gems文件夹中.

我将它添加到我的Gemfile中:

gem 'my_gem', path: './vendor/gems/my_gem'
Run Code Online (Sandbox Code Playgroud)

在我的Dockerfile中

RUN mkdir /testapp
WORKDIR /testapp
ADD Gemfile /testapp/Gemfile
ADD Gemfile.lock /testapp/Gemfile.lock
RUN bundle install
ADD . /testapp
Run Code Online (Sandbox Code Playgroud)

运行后docker-compose build,它显示:

The path `/testapp/vendor/gems/my_gem` does not exist.
ERROR: Service 'web' failed to build: The command '/bin/sh -c bundle install' returned a non-zero code: 13
Run Code Online (Sandbox Code Playgroud)

sch*_*cho 7

我在Dockerfile中添加它后,它工作.

ADD vendor/gems/my_gem /testapp/vendor/gems/my_gem
Run Code Online (Sandbox Code Playgroud)


sad*_*605 1

您可以在 Dockerfile 中添加以下内容:

RUN gem install --local path_to_gem/filename.gem
Run Code Online (Sandbox Code Playgroud)