Erro ao efetuar migrate
[Concluído]
Boa noite.
Estou utilizando a branch Laravel10+Php8.1+Docker do repositório da EspecializaTi para fazer este curso.
Porém após efetuar os passos existentes no readme da branch, não consigo fazer o Laravel conectar ao container do MySql.
Não consigo rodar a migrate para inciar a aplicação.
O Erro informado ao tentar executar a migrate é:
Illuminate\Database\QueryException
SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo for mysql failed: Temporary failure in name resolution (Connection: mysql, SQL: select * from information_schema.tables where table_schema = multidb and table_name = migrations and table_type = 'BASE TABLE')
at vendor/laravel/framework/src/Illuminate/Database/Connection.php:795
791▕ // If an exception occurs when attempting to run a query, we'll format the error
792▕ // message to include the bindings with SQL, which will make this exception a
793▕ // lot more helpful to the developer instead of just the database's errors.
794▕ catch (Exception $e) {
➜ 795▕ throw new QueryException(
796▕ $this->getName(), $query, $this->prepareBindings($bindings), $e
797▕ );
798▕ }
799▕ }
+38 vendor frames
39 artisan:37
Illuminate\Foundation\Console\Kernel::handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
Detalhe.
Consigo acessar o container do mysql através de um cliente MySql externo(DBeaver) através do localhost:388
Segue o env utilizado:
O docker-compose.yaml(padrão do repositório) da EspecializaTi
Olá, Diego!
Tudo bem?
No seu arquivo .env, está com o nome do container (db) do container de banco de dados?
Está rodando esse comando dentro do container app?
docker compose exec app bash
php artisan migrate
Olá Carlos.
Estou utilizando as configurações indicadas no repositório https://github.com/especializati/setup-docker-laravel/tree/laravel-10-com-php-8.1
Configuração do coker-composer
Configurações do .env
Olá Carlos.
Estou utilizando as configurações indicadas no repositório https://github.com/especializati/setup-docker-laravel/tree/laravel-10-com-php-8.1
Configuração do coker-composer
Configurações do .env
Comando da migrate exewcutado dentro do container app, conforme indicação no repositório.
Segue cópia do terminal:
user@user-desk:~/Documents/projetos/app-laravel$ docker-compose up -d
Creating network "app-laravel_laravel" with driver "bridge"
Creating app-laravel_redis_1 ... done
Creating app-laravel_nginx_1 ... done
Creating app-laravel_db_1 ... done
Creating app-laravel_app_1 ... done
Creating app-laravel_queue_1 ... done
user@user-desk:~/Documents/projetos/app-laravel$ docker-compose exec app bash
carlos@5816691a9739:/var/www$ php artisan migrate
Illuminate\Database\QueryException
SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo for mysql failed: Temporary failure in name resolution (Connection: mysql, SQL: select * from information_schema.tables where table_schema = multidb and table_name = migrations and table_type = 'BASE TABLE')
at vendor/laravel/framework/src/Illuminate/Database/Connection.php:795
791▕ // If an exception occurs when attempting to run a query, we'll format the error
792▕ // message to include the bindings with SQL, which will make this exception a
793▕ // lot more helpful to the developer instead of just the database's errors.
794▕ catch (Exception $e) {
➜ 795▕ throw new QueryException(
796▕ $this->getName(), $query, $this->prepareBindings($bindings), $e
797▕ );
798▕ }
799▕ }
+38 vendor frames
39 artisan:37
Illuminate\Foundation\Console\Kernel::handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
O nome do container que está rodando o banco de dados é db, por isso o erro. DB_HOST=db
Bom dia Carlos.
Show de bola !
Problema resolvido.
Como sugestão, vc poderia alterar as instruções no readme do repositorio do github da imagem https://github.com/especializati/setup-docker-laravel/tree/laravel-10-com-php-8.1.
Nas instruções, cita para ajustar o DB_HOST=mysql. Sendo que no docker-compose o container do Mysql esta como db.
Pode induzir as pessoas menos atentas ao erro.
Obrigado!
Boa amigo, obrigado por avisar, corrigi no GitHub;
Precisa estar logado para conseguir responder a este ticket!
Clique Aqui Para Entrar!