DockerコンテナでRails環境を構築しようとしていますが、ビルドがうまくいきません。
docker-compose buildでイメージをビルドを実行しても以下のように途中で失敗してしまいます。
docker
1yuta@yuta-PC:~/Desktop/work/docker/Rails_build$ docker-compose build 2Building app 3Step 1/11 : FROM ruby:2.6.1-stretch 4 ---> 99ef552a6db8 5Step 2/11 : WORKDIR /app 6 ---> Using cache 7 ---> 0f9390519fa6 8Step 3/11 : ARG BUNDLE_INSTALL_ARGS="-j 4" 9 ---> Using cache 10 ---> d6168e20b112 11Step 4/11 : COPY Gemfile Gemfile.lock ./ 12 ---> Using cache 13 ---> c6dab6616a18 14Step 5/11 : RUN bundle install ${BUNDLE_INSTALL_ARGS} 15 ---> Running in ade7b495733a 16Fetching gem metadata from https://rubygems.org/... 17Retrying fetcher due to error (2/4): Errno::EADDRNOTAVAIL Failed to open TCP connection to index.rubygems.org:443 (Cannot assign requested address - connect(2) for "index.rubygems.org" port 443). 18Fetching gem metadata from https://rubygems.org/.... 19. 20Retrying fetcher due to error (3/4): Errno::EADDRNOTAVAIL Failed to open TCP connection to index.rubygems.org:443 (Cannot assign requested address - connect(2) for "index.rubygems.org" port 443).......... 21Fetching gem metadata from https://rubygems.org/............. 22Fetching gem metadata from https://rubygems.org/............. 23Resolving dependencies... 24Bundler could not find compatible versions for gem "minitest": 25 In Gemfile: 26 rails (= 5.2.2.1) was resolved to 5.2.2.1, which depends on 27 activesupport (= 5.2.2.1) was resolved to 5.2.2.1, which depends on 28 minitest (~> 5.1) 29 30Could not find gem 'minitest (~> 5.1)', which is required by gem 'activesupport 31(= 5.2.2.1)', in any of the sources. 32ERROR: Service 'app' failed to build: The command '/bin/sh -c bundle install ${BUNDLE_INSTALL_ARGS}' returned a non-zero code: 6
Step5でrubygems.orgへのコネクションが失敗し、その後のBundleのインストールがうまくできていないと思いました。
bundle関係のエラーはbundle updateでうまく行くケースがありますが、dockerコンテナの場合どのように記述すればいいのか分からず、悩んでいる状態です。
DockerfileとGemfileはこのようになっています。
Dockerfile
1#Use Ruby-image from Public DockerSite 2FROM ruby:2.6.1-stretch 3 4#Directory to place Application 5WORKDIR /app 6 7#Install gem by Bundler 8ARG BUNDLE_INSTALL_ARGS="-j 4" 9COPY Gemfile Gemfile.lock ./ 10RUN bundle install ${BUNDLE_INSTALL_ARGS} 11 12#Configure ENTRYPOINT 13COPY docker-entrypoint.sh / 14RUN chmod +x /docker-entrypoint.sh 15ENTRYPOINT ["/docker-entrypoint.sh"] 16 17#Copy Application file 18COPY . ./ 19 20#Configure command and ports to exec server 21CMD ["rails", "server", "-b", "0.0.0.0"] 22EXPOSE 3000
Gemfile
1source "https://rubygems.org" 2 3gem "rails", "= 5.2.2.1"
その他の構成はこちらのgithubのレポジトリに格納してあります。
以上です、ご教授のほどお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。