Bonjour,

Afin de tester un environnement sur docker (pour remplacer wamp et avoir une configuration plus fidele aux serveurs), j'ai suivi le tutos de grafikart et mis en place un environnement fonctionnel.
Je suis bien connecté à la base de donnée en utilisant le fichier ".env", je recupere bien les donnees (transfert du projet de wamp vers docker).

Cependant je rencontre un petit problème avec les migrations

Ce que je fais

php artisan migrate ```

Ce que j'obtiens

 [PDOException]
  SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: H¶te inconnu.

  [ErrorException]
  PDO::__construct(): php_network_getaddresses: getaddrinfo failed: H¶te inconnu.```

Au passage, est-il possible de faire fonctionner HeidiSQL avec Docker?

Merci d'avance pour vos réponses

7 réponses


arnich
Réponse acceptée

Quand tu fais un

docker exec -ti docker_web_1 bash 

Tu es dans quel dossier ? Car c'est dans ce dossier que va etre executer ta commande php

Perso pour l'allias php j'ai ca :

alias php='docker run -it --rm --name docker_php_cli -v "$PWD":/usr/src/myapp -w /usr/src/myapp --link docker_db_1:db php:latest php'
M4dr0x
Auteur
Réponse acceptée

J'ai compris quand je fais php via mon alias il n'est pas du tout dans le bon dossier. il faut donc vraiment le faire depuis le contenair.
cela me va pour le moment. merci à tous de votre contribution

Bonjour.
L'erreur est explicite, il y a un problème au niveau de l'hôte (host).
Pour répondre à ta seconde question, la réponse est oui, il te suffit de te connecter en SSH depuis HeidiSQL, il te faudra également Plink, puis bien faire la configuration sur HeidiSQL bien sûr.

M4dr0x
Auteur

Merci pour ta réponse Lartak au niveau de heidiSQL.
Cependant pour la migrations, je suis bien d'accord avec toi sur le problème de host

Dans mon fichier '.env' j'ai bien

DB_HOST=db
DB_DATABASE=lab
DB_USERNAME=root
DB_PASSWORD=root

Et je n'ai pas de soucis pour récupérer mes données dans la base, pourquoi donc la migration ne reconnait pas le host?

Comment est monté ton env docker et comment lance tu php ?
A mon avis tu lance php sur ta machine et non le php de ton container docker. Donc il ne connait pas db

M4dr0x
Auteur

J'avais aussi pensé à cette solution, j'ai donc creer un alias

php = 'docker exec -ti docker_web_1 php'

mais la commande migrate me renvoie cette fois

Could not open input file: artisan

utilisez homestead de laravel est Hop ! aucun problème par la suite