php artisan migrateを実行しようとしたらエラーが出る。
解決したいこと
エラーを解消してマイグレーションしたい。
発生している問題・エラー
SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo for mysql failed: Temporary failure in name resolution (SQL: select * from information_schema.tables where table_schema = laravel_db and table_name = migrations and table_type = 'BASE TABLE')
該当するソースコード
rsy82@Risa:~/coachtech/test-laravel/test-contact/src$ php artisan migrate
自分で試したこと
①.envの確認
APP_ENV=local
APP_KEY=base64:o67S1+tqwnQxrUMRs1nPJz1rEOqMubsZj1KpobXV4pg=
APP_DEBUG=true
APP_URL=http://localhost
LOG_CHANNEL=stack
LOG_DEPRECATIONS_CHANNEL=null
LOG_LEVEL=debug
DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=laravel_db
DB_USERNAME=laravel_user
DB_PASSWORD=laravel_pass
DB_SSL_MODE=DISABLED
BROADCAST_DRIVER=log
CACHE_DRIVER=file
FILESYSTEM_DRIVER=local
QUEUE_CONNECTION=sync
SESSION_DRIVER=file
SESSION_LIFETIME=120
MEMCACHED_HOST=127.0.0.1
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
MAIL_MAILER=smtp
MAIL_HOST=mailhog
MAIL_PORT=1025
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=null
MAIL_FROM_NAME="${APP_NAME}"
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=
AWS_USE_PATH_STYLE_ENDPOINT=false
PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_APP_CLUSTER=mt1
MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
②docker-compose.ymlの確認
'3.8'
services:
nginx:
image: nginx:1.21.1
ports:
- "80:80"
volumes:
- ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf
- ./src:/var/www/
depends_on:
- php
php:
build: ./docker/php
volumes:
- ./src:/var/www/
mysql:
image: mysql:8.0.26
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: laravel_db
MYSQL_USER: laravel_user
MYSQL_PASSWORD: laravel_pass
MYSQL_SSL: 0
command:
mysqld --default-authentication-plugin=mysql_native_password --ssl=0
volumes:
- ./docker/mysql/data:/var/lib/mysql
- ./docker/mysql/my.cnf:/etc/mysql/conf.d/my.cnf
phpmyadmin:
image: phpmyadmin/phpmyadmin
environment:
- PMA_ARBITRARY=1
- PMA_HOST=mysql
- PMA_USER=laravel_user
- PMA_PASSWORD=laravel_pass
depends_on:
- mysql
ports:
- 8080:80
③my sqlに入れるか
WARN[0000] /home/rsy82/coachtech/test-laravel/test-contact/docker-compose.yml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
test-contact-mysql-1 mysql:8.0.26 "docker-entrypoint.s…" mysql 35 minutes ago Up 35 minutes 3306/tcp, 33060/tcp
test-contact-nginx-1 nginx:1.21.1 "/docker-entrypoint.…" nginx 35 minutes ago Up 35 minutes 0.0.0.0:80->80/tcp, [::]:80->80/tcp
test-contact-php-1 test-contact-php "docker-php-entrypoi…" php 35 minutes ago Up 35 minutes 9000/tcp
test-contact-phpmyadmin-1 phpmyadmin/phpmyadmin "/docker-entrypoint.…" phpmyadmin 35 minutes ago Up 35 minutes 0.0.0.0:8080->80/tcp, [::]:8080->80/tcp
rsy82@Risa:~/coachtech/test-laravel/test-contact/src$ docker compose exec php bash
WARN[0000] /home/rsy82/coachtech/test-laravel/test-contact/docker-compose.yml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion
root@15bb68ec1e77:/var/www# ping test-contact-mysql-1
bash: ping: command not found
root@15bb68ec1e77:/var/www# mysql -h test-contact-mysql-1 -u laravel_user -plaravel_pass laravel_db --ssl-mode=DISABLED
mysql: unknown variable 'ssl-mode=DISABLED'
root@15bb68ec1e77:/var/www#
④キャッシュクリアと再実行
php artisan config:clear
php artisan cache:clear
0 likes