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

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

新規登録して質問してみよう
ただいま回答率
85.49%
docker-compose

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

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Ruby on Rails

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

Docker

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

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

Q&A

解決済

1回答

1303閲覧

Unknown MySQL server host 'db' (25)

Rick_darts

総合スコア10

docker-compose

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

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Ruby on Rails

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

Docker

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

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

0グッド

1クリップ

投稿2020/03/01 11:09

前提・実現したいこと

現在、docker でrails,mysql,の環境構築を行いました。

その後簡易的なviewを作りAWS:EC2でデプロイを行っておりました。

その後、データベースを作成しようとした時にエラーが発生しました。

デプロイを完了させたいので、お手数をお掛けしますが、お助けください。

初学者の為必要な情報が足りていない場合もあるので、ご指摘お願いします。

###エラーコード

Mysql2::Error::ConnectionError: Unknown MySQL server host 'db' (25)

該当のソースコード

database.yml

databaseyml

1default: &default 2 adapter: mysql2 3 encoding: utf8 4 pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> 5 username: root 6 password: password 7 host: db 8 9development: 10 <<: *default 11 database: app_name_development 12 13test: 14 <<: *default 15 database: app_name_test 16 17production: 18 <<: *default 19 database: app_name_production 20 username: app_name 21 password: <%= ENV['APP_NAME_DATABASE_PASSWORD'] %> 22 socket: /var/lib/mysql/mysql.sock

dockerfile

1FROM ruby:2.5.1 2 3 4RUN apt-get update -qq && \ 5 apt-get install -y build-essential \ 6 libpq-dev \ 7 nodejs 8 9RUN mkdir /app_name 10ENV APP_ROOT /app_name 11WORKDIR $APP_ROOT 12 13ADD ./Gemfile $APP_ROOT/Gemfile 14ADD ./Gemfile.lock $APP_ROOT/Gemfile.lock 15 16RUN bundle install 17ADD . $APP_ROOT

docker-compose.yml

dockercomposeyml

1version: '3' 2services: 3 db: 4 image: mysql:5.7 5 environment: 6 MYSQL_ROOT_PASSWORD: password 7 MYSQL_DATABASE: root 8 ports: 9 - "3306:3306" 10 11 web: 12 build: . 13 command: rails s -p 3000 -b '0.0.0.0' 14 volumes: 15 - .:/app_name 16 ports: 17 - "3000:3000" 18 links: 19 - db

試したこと

エラー内容はdatabase.ymlの'host: db'にある'db'が不明と出ているので、先人の方のQiitaを見て
dockerの記述やdatabaseの記述を見比べましたが、思うようにうまくいきません。

補足情報(FW/ツールのバージョンなど)

docker,rails,mysqlの環境構築の際に使わせていただいたQiita

Qiita

参照させていただいた問題

teratail

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

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

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

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

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

guest

回答1

0

ベストアンサー

host: db これが問題です。

MySQLを同じサーバーでうごかしているなら 
host: localhost
としてください

投稿2020/03/01 13:08

編集2020/03/01 13:37
winterboum

総合スコア23324

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

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

kyoya0819

2020/03/01 13:33

途中で投稿されていませんか?
winterboum

2020/03/01 13:38

最後まで書いてあったのですが、どういうわけかあそkまでしか。 連絡ありがとうございます
Rick_darts

2020/03/02 07:43

ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問