Laravel Sailに追加したPhpMyAdminからデータベースにつながらない

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

先日、Laravel Sailについて質問を受けた内容です。

PhpMyAdminを使いたいということで、自身で調べてdocker-composeにサービスの追加をしたけど、動かないということでした。

Sail を起動して、ブラウザでPhpMyAdminにログインしようとすると、エラーになってしまいます。

ログインの時点でエラー

とりあえずMySQLの疎通確認から。

Laravelコンテナからマイグレーションの実行はできているので、MySQLコンテナ自体はちゃんと動いているようです。

$ sail artisan migrate
Migration table created successfully.
Migrating: 2014_10_12_000000_create_users_table
Migrated:  2014_10_12_000000_create_users_table (553.47ms)
Migrating: 2014_10_12_100000_create_password_resets_table
Migrated:  2014_10_12_100000_create_password_resets_table (767.61ms)
Migrating: 2019_08_19_000000_create_failed_jobs_table
Migrated:  2019_08_19_000000_create_failed_jobs_table (589.25ms)
Migrating: 2019_12_14_000001_create_personal_access_tokens_table
Migrated:  2019_12_14_000001_create_personal_access_tokens_table (380.02ms)

コンテナ起動時にも、ちゃんとphpmyadminコンテナが起動してます。

$ sail up -d
Creating network "laraveltest_phpmyadmin_sail" with driver "bridge"
Creating laraveltest_phpmyadmin_mailhog_1     ... done
Creating laraveltest_phpmyadmin_redis_1       ... done
Creating laraveltest_phpmyadmin_mysql_1       ... done
Creating laraveltest_phpmyadmin_selenium_1    ... done
Creating laraveltest_phpmyadmin_meilisearch_1 ... done
Creating laraveltest_phpmyadmin_phpmyadmin_1   ... done
Creating laraveltest_phpmyadmin_laravel.test_1 ... done

$ sail ps
                Name                               Command                  State                           Ports
--------------------------------------------------------------------------------------------------------------------------------------
laraveltest_phpmyadmin_laravel.test_1   start-container                  Up             0.0.0.0:80->80/tcp, 8000/tcp
laraveltest_phpmyadmin_mailhog_1        MailHog                          Up             0.0.0.0:1025->1025/tcp, 0.0.0.0:8025->8025/tcp
laraveltest_phpmyadmin_meilisearch_1    tini -- /bin/sh -c ./meili ...   Up (healthy)   0.0.0.0:7700->7700/tcp
laraveltest_phpmyadmin_mysql_1          /entrypoint.sh mysqld            Up (healthy)   0.0.0.0:3306->3306/tcp, 33060/tcp, 33061/tcp
laraveltest_phpmyadmin_phpmyadmin_1     /docker-entrypoint.sh apac ...   Up             0.0.0.0:8080->80/tcp
laraveltest_phpmyadmin_redis_1          docker-entrypoint.sh redis ...   Up (healthy)   0.0.0.0:6379->6379/tcp
laraveltest_phpmyadmin_selenium_1       /opt/bin/entry_point.sh          Up             4444/tcp, 5900/tcp

Laravel本体のコンテナとMySQLのコンテナは疎通してて、PhpMyAdminからだとつながってないような状況なので、コンテナ内でなんか起こってるのかなと目星をつけました。

ご質問者さんに了解を取ったうえで、ボリュームを削除して作り直してみます。

sail down --volumes --remove-orphans
Stopping laraveltest_phpmyadmin_laravel.test_1 ... done
Stopping laraveltest_phpmyadmin_phpmyadmin_1   ... done
Stopping laraveltest_phpmyadmin_meilisearch_1  ... done
Stopping laraveltest_phpmyadmin_selenium_1     ... done
Stopping laraveltest_phpmyadmin_mysql_1        ... done
Stopping laraveltest_phpmyadmin_redis_1        ... done
Stopping laraveltest_phpmyadmin_mailhog_1      ... done
Removing laraveltest_phpmyadmin_laravel.test_1 ... done
Removing laraveltest_phpmyadmin_phpmyadmin_1   ... done
Removing laraveltest_phpmyadmin_meilisearch_1  ... done
Removing laraveltest_phpmyadmin_selenium_1     ... done
Removing laraveltest_phpmyadmin_mysql_1        ... done
Removing laraveltest_phpmyadmin_redis_1        ... done
Removing laraveltest_phpmyadmin_mailhog_1      ... done
Removing network laraveltest_phpmyadmin_sail
Removing volume laraveltest_phpmyadmin_sail-mysql
Removing volume laraveltest_phpmyadmin_sail-redis
Removing volume laraveltest_phpmyadmin_sail-meilisearch

これで直りました。どういう事象でエラーだったのかわからないけど。。。

ボリュームを消しちゃったので、MySQLも空っぽになっています。

このあと、マイグレーション・シーディングをし直してもらいました。

以上です。あなたのお役に立てれば幸いです。

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

SNSでもご購読できます。

コメントを残す

*