Vous n'êtes pas identifié(e).
Pages : 1
J'ai résolu l'erreur, il manquait -p 5432:5432.
Nénamoins l'approche n'est pas la bonne, car je suis obligé de mettre un sleep(5) en attendant que le server postgre s'active, on m'a recommandé de mettre en place un conteuneur php chargé de lancer les tests et qui serait lié à un conteneur postgre-sql
Bonjour !
A des fins de tests automatisés j'essaie d'utiliser docker dans mon workflow de test. J'utilise l'image officielle prise sur dockerhub.
Dans une fonction setUp() j'ai le code suivant:
echo 'starting postgresql docker image';
echo shell_exec('docker run --name test-postgres -e POSTGRES_PASSWORD=test -d postgres');
echo shell_exec('docker start test-postgres');
sleep(3);
Une fois que cette fonction est lancée j'essaie d'instancier un objet pdo comme suivant :
new \PDO('pgsql:host=127.0.0.1;port=5432;dbname=postgres;user=postgres;password=test');
Mais ll'erreur suivante est retournée :
exception 'PDOException' with message 'SQLSTATE[08006] [7] could not connect to server: Connection refused
==> Is the server running on host "127.0.0.1" and accepting
==> TCP/IP connections on port 5432?' in /var/www/PostGreSqlJsonRepository/src/ConnectionFactory.php:22
Quand je lance l'image manuellement j'arrive à me connecter au server en rentrant :
pgsql -h 127.0.0.1 postgres postgres
Bien à vous
bouhda
Pages : 1