SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo for db failed: Name or service not known (SQL: SHOW FULL TABLES WHERE table_type = 'BASE TABLE')

Dockerで環境構築していた際につまづいたので、メモりました。
ご参考になれば幸いです。
<h2>概要</h2>
下記記事を参照してLaravel+React+MySQLの環境をDockerで作成しようとしたところ
エラーが発生しました。

https://qiita.com/ucan-lab/items/d7752b43a9e89cc16b22

<h2>エラー内容</h2>
タイトルにある通り、以下のエラーが発生しました。

```:tarminal
SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo for db failed: Name or service not known (SQL: SHOW FULL TABLES WHERE table_type = 'BASE TABLE')
```
DB（MySQL）への接続が上手くいっていないらしい...

<h2>調査結果</h2>
<h3> コンテナの起動確認</h3>

```:tarminal
$ docker ps -a
CONTAINER ID   IMAGE          COMMAND                  CREATED              STATUS                          PORTS                               NAMES
737e1499b7c0   9df10d5fd4e9   "/entrypoint.sh mysq…"   About a minute ago   Exited (1) About a minute ago                                       docker-laravel_db_1
d11753ef631f   f5bc33c1bffa   "/docker-entrypoint.…"   6 minutes ago        Up 6 minutes                    0.0.0.0:80->80/tcp, :::80->80/tcp   docker-laravel_web_1
1055b9270a37   198704a55e0c   "docker-php-entrypoi…"   6 minutes ago        Up 6 minutes                    9000/tcp                            docker-laravel_app_1
```
dbコンテナだけSTATUSが「Exited」のままで起動していない

<h3>ログ確認</h3>

```:tarminal
$ docker logs <コンテナID>
[Entrypoint] MySQL Docker Image 8.0.27-1.2.6-server
[Entrypoint] Starting MySQL 8.0.27-1.2.6-server
2022-01-09T05:11:30.261390-00:00 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.27) starting as process 1
2022-01-09T05:11:30.264356-00:00 0 [ERROR] [MY-013276] [Server] Failed to set datadir to '/var/lib/mysql/' (OS errno: 13 - Permission denied)
2022-01-09T05:11:30.264532-00:00 0 [ERROR] [MY-010119] [Server] Aborting
2022-01-09T05:11:30.264761-00:00 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.27)  MySQL Community Server - GPL.
[Entrypoint] MySQL Docker Image 8.0.27-1.2.6-server
[Entrypoint] Starting MySQL 8.0.27-1.2.6-server
2022-01-09T05:11:44.674545-00:00 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.27) starting as process 1
2022-01-09T05:11:44.677153-00:00 0 [ERROR] [MY-013276] [Server] Failed to set datadir to '/var/lib/mysql/' (OS errno: 13 - Permission denied)
2022-01-09T05:11:44.677246-00:00 0 [ERROR] [MY-010119] [Server] Aborting
2022-01-09T05:11:44.677499-00:00 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.27)  MySQL Community Server - GPL.
```
/var/lib/mysqlにデータを永続化したかったけど、マウントするところでアクセス権限がないよって怒られてますね。

<h2>解決策</h2>
ググったところ、下記記事が参考になりました。

https://qiita.com/mrk_21/items/137b0c39e09c3ed6c95a

この記事の中に下記の文言が記載されている
>つまり、マウントしたディレクトリに書き込めるのは、root か uid=1000 のユーザだけである。

my.cnfに記載されている動作ユーザの権限が「mysql」になっていたので、権限を「root」に変更してビルドしたところ無事解決！！

```:tarminal
Migrating: 2014_10_12_000000_create_users_table
Migrated:  2014_10_12_000000_create_users_table (65.04ms)
Migrating: 2014_10_12_100000_create_password_resets_table
Migrated:  2014_10_12_100000_create_password_resets_table (43.12ms)
Migrating: 2019_08_19_000000_create_failed_jobs_table
Migrated:  2019_08_19_000000_create_failed_jobs_table (40.74ms)
Migrating: 2019_12_14_000001_create_personal_access_tokens_table
Migrated:  2019_12_14_000001_create_personal_access_tokens_table (68.47ms)
```