質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

WSL(Windows Subsystem for Linux)

WSL (Windows Subsystem for Linux) は、Windows10のOS上でLinux向けのバイナリプログラムを実行可能にする機能です。また、WindowsOSのAPIを用いた仕組みを提供しており、Linux側からWindowsOSへのファイルアクセスもできます。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Q&A

解決済

1回答

2995閲覧

DockerコンテナでRailsでアプリを作りたい。docker-composeで出るエラー

PolymetisOutis7

総合スコア16

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

WSL(Windows Subsystem for Linux)

WSL (Windows Subsystem for Linux) は、Windows10のOS上でLinux向けのバイナリプログラムを実行可能にする機能です。また、WindowsOSのAPIを用いた仕組みを提供しており、Linux側からWindowsOSへのファイルアクセスもできます。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

0グッド

0クリップ

投稿2021/12/13 06:45

やろうとしていること・状況

WindowsでWSLを用いて、Railsでアプリを作ろうとしています。

コンテナの中で次のコマンドを実行すると、

rails new . --force --database=postgresql --skip-bundle

Gemfileが更新されるので、install bundleしなくてはなりません。

ですので、containerからexitして次のコマンドを実行しました。

docker-compose up --build -d

すると次のようなエラーが出ました。

[+] Building 0.9s (2/3) [+] Building 1.0s (3/3) FINISHED => [internal] load build definition from Dockerfile 0.1s => => transferring dockerfile: 32B 0.1s => [internal] load .dockerignore 0.1s => => transferring context: 2B 0.0s => ERROR [internal] load metadata for docker.io/library/ruby:2.5 0.8s ------ > [internal] load metadata for docker.io/library/ruby:2.5: ------ failed to solve: rpc error: code = Unknown desc = failed to solve with frontend dockerfile.v0: failed to create LLB definition: rpc error: code = Unknown desc = error getting credentials - err: exit status 1, out:

###状況
docker-compose.yml は次のようになっています。

version: '3' services: web: build: . ports: - '3000:3000' volumes: - '.:/product-register' tty: true stdin_open: true

Dockerfile は次のようになっています。

FROM ruby:2.5 RUN apt-get update && apt-get install -y \ build-essential \ libpq-dev \ nodejs \ postgresql-client \ yarn WORKDIR /product-register COPY Gemfile Gemfile.lock /product-register/ RUN bundle install

コンテナの中で、

rails new . --force --database=postgresql --skip-bundle

を実行する前に行った次のコマンドは上手くいきました。

docker-compose up -d

このエラーの正体は何でしょうか?

またどのようにするべきでしょうか?

何卒宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

ERROR [internal] load metadata for docker.io/library/ruby:2.5

エラー見ると、docker.ioへのアクセスができないようです。

そちらの環境で、このコマンドがうまくいかないと思います。

docker pull ruby:2.5

ネットワーク設定などを確認してみてください。
https://zenn.dev/hiszuk/articles/cb30071df19a1b4f8365

ちなみに、こちらは起動するだけなので、エラーならないですが、buildすると、エラーになるようです。

docker-compose up -d

投稿2021/12/13 08:53

heroyct

総合スコア434

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

PolymetisOutis7

2021/12/13 09:24 編集

今日一日中この件で詰まっていて鬱屈していました。助けてくださりありがとうございます。 ネットで検索できたものについては色々試しましたが、上手くいかず、Docker Engineの設定も変えてみたりしましたが、結局元に戻しました。 回答を頂いて、一先ず、 docker pull ruby:2.5 をしてみると、 Status: Downloaded newer image for ruby:2.5 docker.io/library/ruby:2.5 と表示され、なぜか上手くいきました。 またその後、 docker-compose up --build -d をすると今度はなぜか上手くいきました。 カフェのWifi環境で作業をしているのですが時間帯によって何かが変わることがあるのでしょうか? 時間をおいたら出来たというような雑感です。 Docker Desktopを再起動したのが効いたのか?原因は謎です。 すみません、本当にありがとうございます!! すみません、「ちなみに、こちらは起動するだけなので、エラーならないですが、buildすると、エラーになるようです。 」これはどういう意味でしょうか?
heroyct

2021/12/15 03:11

解決してよかったです!ネットワークの何にかが問題あった気がします。 「ちなみに、こちらは起動するだけなので、エラーならないですが、buildすると、エラーになるようです。 これはどういう意味でしょうか?」 「を実行する前に行った次のコマンドは上手くいきました。 docker-compose up -d」 こちらは起動するのみ 「docker-compose up --build -d」 こちらはbuildしてから起動するということです。
PolymetisOutis7

2021/12/15 03:16

この度は、詳細な解説まで誠にありがとうございます!! コメントありがとうございました!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問