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

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

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

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

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Docker

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

Q&A

0回答

2610閲覧

ERROR 2005 (HY000): Unknown MySQL server host 'db' (-3)を解決したい

kinoemon13

総合スコア7

MySQL

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

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Docker

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

0グッド

0クリップ

投稿2022/01/02 01:56

編集2022/01/02 02:02

dockerのdbコンテナーが起動してもすぐに止まるエラーが解決できずにいます。
発生している問題・エラーメッセージ

docker-compose exec app mysql -h db -u book_log -D book_log -p Enter password: ERROR 2005 (HY000): Unknown MySQL server host 'db' (-3)

前提・実現したいこと

PHPを勉強していて、エラーが解決できずにいます。
dockerのdbコンテナーが起動してもすぐに止まるエラーが解決できずにいます。
※appコンテナーは起動しています。

該当箇所のソースコード docker-compose.yml version: "3" services: app: build: context: . dockerfile: docker/app/Dockerfile ports: - "50080:80" volumes: - ./src:/var/www/html depends_on: - db db: image: mysql/mysql-server:5.5.62 ports: - "53306:3306" volumes: - ./docker/db/my.cnf:/etc/mysql/conf.d/my.cnf - ./docker/db/mysql_data:/var/lib/mysql env_file: - ./docker/db/db-variables.env

試したこと

db:image: mysql/mysql-server:5.5.62が怪しいと思ったので、image: mysql:5.6にして実行するとappとbdコンテナーが両方とも動きました。

docker-compose up -d
[+] Running 12/12
⠿ db Pulled 28.3s
⠿ 35b2232c987e Pull complete 7.7s
⠿ fc55c00e48f2 Pull complete 7.9s
⠿ 0030405130e3 Pull complete 8.5s
⠿ e1fef7f6a8d1 Pull complete 8.8s
⠿ 1c76272398bb Pull complete 8.9s
⠿ f57e698171b6 Pull complete 10.5s
⠿ f5b825b269c0 Pull complete 10.6s
⠿ dcb0af686073 Pull complete 10.7s
⠿ 27bbfeb886d1 Pull complete 14.3s
⠿ 6f70cc868145 Pull complete 14.4s
⠿ 1f6637f4600d Pull complete 14.6s
[+] Running 2/2
⠿ Container part2_db_1 Started 4.8s
⠿ Container part2_app_1 Started

docker-compose ps
NAME COMMAND SERVICE STATUS PORTS
part2_app_1 "docker-php-entrypoi…" app running 0.0.0.0:50080->80/tcp
part2_db_1 "docker-entrypoint.s…" db running 0.0.0.0:53306->3306/tcp

これで解決といいたいのですが、またエラーが出てしまいました。

docker-compose exec app mysql -h db -u book_log -D book_log -p

Enter password:
ERROR 1130 (HY000): Host '172.18.0.3' is not allowed to connect to this MySQL server

これは教材ですので、前提を崩さずにこのままのコードで実行できないか模索中です。
どうか力を貸していただけますでしょうか?

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

Docker version 20.10.11, build dea9396

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

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

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

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

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

skys215

2022/01/02 04:13

link: - db を試しましたか?
kiino

2022/01/02 05:09

確認したいのですが、いまでているエラーはどちらでしょうか - ERROR 2005 (HY000): Unknown MySQL server host 'db' (-3) - ERROR 1130 (HY000): Host '172.18.0.3' is not allowed to connect to this MySQL server タイトルでは上のエラーが書かれていますが、文中では下側のエラーが記載されています。 エラーの内容で対応方法が変わるので教えていただきたいです
kinoemon13

2022/01/02 07:35

skys215さん、ありがとうございます! まだlink:- dbは行なっていないので、今からやります!
kinoemon13

2022/01/02 07:38

kiinoさん、ありがとうございます! 僕が悩んでいるのは、こちらのエラーですね! - ERROR 2005 (HY000): Unknown MySQL server host 'db' (-3) 下のエラーは教材を書き換えて起こったエラーです。
kiino

2022/01/02 07:42

ありがとうございます。 mysql のバージョンをあげると下のエラーがでるが、 バージョンを上げずに接続したいということですね。 まずdb のdockerが起動しない原因を特定することが必要だと思うので、ログや標準出力にでた内容を提示していただいた方が良さそうです。 教材とありますが、学校や会社の課題でしたら教官に質問されても良いかもしれませんね。 課題のわかりにくい点のフィードバックや課題自体のミスを伝えてることもできますので
kinoemon13

2022/01/02 08:50 編集

コンテナー削除して一度やり直したのですが docker-compose up -d [+] Running 2/3 ⠿ Network part2_default Created 0.7s ⠿ Container part2_db_1 Starting 1.7s ⠿ Container part2_app_1 Created 1.1s Error response from daemon: Ports are not available: listen tcp 0.0.0.0:53306: bind: An attempt was made to access a socket in a way forbidden by its access permissions. docker-compose ps NAME COMMAND SERVICE STATUS PORTS part2_app_1 "docker-php-entrypoi…" app running 0.0.0.0:50080->80/tcp part2_db_1 "/entrypoint.sh mysq…" db created
inductor

2022/01/11 05:21

"docker-compose down" のあと ./docker/db/mysql_data を削除してから再度起動するとどうなりますか。
kinoemon13

2022/01/11 12:27

inductorさん、ありがとうございます! おっしゃったように ./docker/db/mysql_dataを削除してから再度起動するとdbコンテナーが動きました mysql_datagaが悪かったんですね!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問