recherche

Maison  >  Questions et réponses  >  le corps du texte

Docker : Erreur de connexion refusée lors de l'exécution de la commande artisanale Laravel

<p>J'utilise Laravel 5.4 dans Docker. Ceci est ma composition de quai. fichier yml :</p> <pre class="brush:php;toolbar:false;">version : '2' prestations de service: application : nom_du conteneur : laravel_app image : webdevops/php-apache-dev:ubuntu-16.04 liens: -mysql dépend de: -mysql ports : - 8888:80 tomes : - .:/application environnement: docker : 'vrai' WEB_DOCUMENT_ROOT : '/app/public' WEB_NO_CACHE_PATTERN : '.(.*)$$' rép_travail : '/app' mysql : image : mariadb : dernière ports : - 8889:80 environnement: MYSQL_ROOT_PASSWORD : 'développeur' MYSQL_DATABASE : 'développeur' MYSQL_USER : 'développeur' MYSQL_PASSWORD : 'dev'</pre> <p>Voici la partie pertinente de mon fichier <code>.env</code> <pre class="brush:php;toolbar:false;">DB_CONNECTION=mysql DB_HOST=mysql DB_PORT=8889 DB_DATABASE=dév DB_USERNAME=développeur DB_PASSWORD=dev</pre> <p>Je peux voir la page d'accueil de Laravel - cela fonctionne. Mais lorsque j'exécute php artisan migrate, j'obtiens cette erreur : </p> <blockquote> <p>SQLSTATE[HY000] [2002] Connexion refusée (SQL : sélectionnez * dans information_schema.tables où table_schema = dev et table_name = migrations)</p> </blockquote> <p>J'ai essayé de modifier les paramètres d'hôte et de port dans le fichier .env. </p>
P粉787820396P粉787820396553 Il y a quelques jours625

répondre à tous(2)je répondrai

  • P粉295728625

    P粉2957286252023-08-08 13:47:57

    Mettre le nom de mon conteneur mysql au lieu de 127.0.0.1

    NAME CONTAINERS
    
    project-db --> container mysql
    project-app --> container laravel
    
    DB_CONNECTION=mysql
    DB_HOST=project-db
    DB_PORT=3306
    DB_DATABASE=project
    DB_USERNAME=root
    DB_PASSWORD=root

    répondre
    0
  • P粉225961749

    P粉2259617492023-08-08 12:59:00

    Tout d'abord, modifiez votre fichier docker-compose.yml

    mysql:
        image: mariadb:latest
        ports:
          - 8889:3306

    Ensuite, définissez le bon port de base de données dans le fichier .env

    Votre port de base de données est incorrect. Vous essayez de vous connecter à un port exposé via une instance de base de données exécutée dans Docker. Dans ce cas, vous devez utiliser DB_PORT=3306

    dans le fichier .env

    répondre
    0
  • Annulerrépondre