Techioz Blog

Docker でのバンドル インストール (gem が見つかりません)

概要

docker ファイルを使用して Ruby on Rails アプリケーションの docker イメージを作成しようとしています。

私が得ているエラー

Step 8/11 : RUN gem install bundler:2.3.24
 ---> Running in 19f290ad8c53
ERROR:  Could not find a valid gem 'bundler' (= 2.3.24), here is why:
          Unable to download data from https://rubygems.org/ - Net::OpenTimeout: Net::OpenTimeout (https://rubygems.org/specs.4.8.gz)
The command '/bin/sh -c gem install bundler:2.3.24' returned a non-zero code: 2

ドッカーファイルは

FROM ubuntu:22.04

# Set the working directory
WORKDIR /app

# Install system dependencies
RUN apt-get update -qq && apt-get install -y build-essential libpq-dev nodejs ruby-full
RUN gem update --system
ENV GEM_HOME="/usr/local/bundle"
ENV PATH $GEM_HOME/bin:$GEM_HOME/gems/bin:$PATH
# Install bundler and gems
COPY Gemfile Gemfile.lock ./
ENV BUNDLER_VERSION=2.3.24
RUN gem install bundler:2.3.24
RUN bundle install

# Copy the rest of the application code
COPY . .

# Start your Rails application
CMD ["rails", "server", "-b", "0.0.0.0"]

注: このエラーはこのサーバーでのみ発生しますが、他のサーバーでは正常に動作しました。

情報が不足している場合はお知らせください

次のようにdockerを再起動しようとしました sudoサービスドッカーの再起動

でもまだ同じ

私も試してみました sudo docker プルーン システム

何も起こらない

解決策

ネットワークエラーがあったことを教えてくれてありがとう

インターフェイスとドッカーの MTU を調べました

Docker はインターフェイスよりも高い MTU を使用していました

解決策を探していたところ、このリファレンスを見ました

MTU 上書き