私はドッカーでレールアプリを走ろうとしています。プライベート宝石はドッカーにインストールされていません
Gemfile
gem 'swagger-docs', :git => '[email protected]:xyz/swagger-docs.git', :branch => 'my_branch'
私は必要なレポのクローンを作成することができドッキングウィンドウでkeys
を追加しました:次のようにしているのGitHubのSSHのURLでインストール得ているいくつかの宝石があります。 gitからgemをインストールしてください。
Dockerfile
RUN mkdir -p /root/.ssh
COPY ./id_rsa /root/.ssh/id_rsa
RUN chmod 700 /root/.ssh/id_rsa
RUN ssh-keygen -f /root/.ssh/id_rsa -y > /root/.ssh/id_rsa.pub
RUN ssh-keyscan github.com >> /root/.ssh/known_hosts
私は(bundle install
を含みます)、それをビルドすると、すべてがうまくいくと、画像が正常に構築されます。しかし、私はdocker-compose up
を実行すると、それは次のようなエラーに
/usr/local/bundle/gems/bundler-1.9.2/lib/bundler/source/git/git_proxy.rb:155:in `allowed_in_path': The git source [email protected]:xyz/swagger-docs.git is not yet checked out. Please run `bundle install` before trying to start your application (Bundler::GitError)
Dockerファイルには、キーをコピーした後に '' RUN bundle install''が含まれていますか? –
@NabeelAmjadはい。 –