docker中的Laravel应用程序未连接到数据库

docker中的Laravel应用程序未连接到数据库,laravel,docker,Laravel,Docker,我用phpmyadmin在docker中安装了laravel 5.8应用程序,并用url I输入phpmyadmin 已经创建了DockerVotes mysql数据库 但进入运行seed的web时,我遇到错误连接被拒绝 # php artisan config:cache Configuration cache cleared! Configuration cached successfully! root@caec409189c9:/var/www/html# php artisan mig

我用phpmyadmin在docker中安装了laravel 5.8应用程序,并用url I输入phpmyadmin 已经创建了DockerVotes mysql数据库 但进入运行seed的web时,我遇到错误连接被拒绝

# php artisan config:cache
Configuration cache cleared!
Configuration cached successfully!
root@caec409189c9:/var/www/html# php artisan migrate:refresh --seed

   Illuminate\Database\QueryException  : SQLSTATE[HY000] [2002] Connection refused (SQL: select * from information_schema.tables where table_schema = DockerVotes and table_name = vt2_migrations and table_type = 'BASE TABLE')

  at /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Connection.php:664
...
My docker-compose.yml:

version: '3.1'

services:

    web:

        build:
            context: ./web
            dockerfile: Dockerfile.yml

        environment:
            - APACHE_RUN_USER=www-data
        volumes:
            - ${APP_PATH_HOST}:${APP_PTH_CONTAINER}

        ports:
            - 8081:80
        working_dir: ${APP_PTH_CONTAINER}


    db:  // Database container
        image: mysql:5.7.24
        restart: always
        environment: 
            MYSQL_ROOT_PASSWORD: 1
        volumes:
            - ${DB_PATH_HOST}:/var/lib/mysql


    phpmyadmin:
        depends_on:
          - db
        image: phpmyadmin/phpmyadmin
        restart: always
        ports:
          - 8082:80
        environment:
          PMA_HOST: db
          MYSQL_ROOT_PASSWORD: 1


    composer:
        image: composer:1.8
        volumes:
            - ${APP_PATH_HOST}:${APP_PTH_CONTAINER}
        working_dir: ${APP_PTH_CONTAINER}
        command: composer install --ignore-platform-reqs
和laravel的应用程序vows/.env:

DB_USERNAME=root
DB_PASSWORD=1
DB_CONNECTION=mysql
DB_HOST=db  // Link to db container in docker-compose.yml
DB_PORT=3036
DB_DATABASE=DockerVotes
我还有:

$ docker ps 
CONTAINER ID        IMAGE                   COMMAND                  CREATED             STATUS              PORTS                  NAMES
6ce5f254440b        phpmyadmin/phpmyadmin   "/docker-entrypoint.���"   9 minutes ago       Up 9 minutes        0.0.0.0:8082->80/tcp   votesdocker_phpmyadmin_1
b9a55af8f6fb        votesdocker_web         "docker-php-entrypoi���"   9 minutes ago       Up 9 minutes        0.0.0.0:8081->80/tcp   votesdocker_web_1
fe5c844fb5c7        mysql:5.7.24            "docker-entrypoint.s���"   9 minutes ago       Up 9 minutes        3306/tcp, 33060/tcp    votesdocker_db_1
建筑项目我在末尾有输出:

...
 ---> faafdc26d9a3
Successfully built faafdc26d9a3
Successfully tagged votesdocker_web:latest
Creating votesdocker_web_1 ... 
Creating votesdocker_db_1 ... 
Creating votesdocker_composer_1 ... 
Creating votesdocker_db_1
Creating votesdocker_composer_1
Creating votesdocker_db_1 ... done
Creating votesdocker_phpmyadmin_1 ... 
Creating votesdocker_phpmyadmin_1 ... done

$ docker logs --tail=20  votesdocker_db_1 
2019-10-20T11:14:20.658357Z 0 [Note] Found ca.pem, server-cert.pem and server-key.pem in data directory. Trying to enable SSL support using them.
2019-10-20T11:14:20.710682Z 0 [Note] InnoDB: Buffer pool(s) load completed at 191020 11:14:20
2019-10-20T11:14:20.806001Z 0 [Warning] CA certificate ca.pem is self signed.
2019-10-20T11:14:20.822750Z 0 [Note] Server hostname (bind-address): '*'; port: 3306
2019-10-20T11:14:20.823404Z 0 [Note] IPv6 is available.
2019-10-20T11:14:20.823422Z 0 [Note]   - '::' resolves to '::';
2019-10-20T11:14:20.823448Z 0 [Note] Server socket created on IP: '::'.
2019-10-20T11:14:20.838582Z 0 [Warning] Insecure configuration for --pid-file: Location '/var/run/mysqld' in the path is accessible to all OS users. Consider choosing a different directory.
2019-10-20T11:14:22.710360Z 0 [Warning] 'user' entry 'root@localhost' ignored in --skip-name-resolve mode.
2019-10-20T11:14:22.734817Z 0 [Warning] 'user' entry 'mysql.session@localhost' ignored in --skip-name-resolve mode.
2019-10-20T11:14:22.734833Z 0 [Warning] 'user' entry 'mysql.sys@localhost' ignored in --skip-name-resolve mode.
2019-10-20T11:14:22.764949Z 0 [Warning] 'db' entry 'performance_schema mysql.session@localhost' ignored in --skip-name-resolve mode.
2019-10-20T11:14:22.764978Z 0 [Warning] 'db' entry 'sys mysql.sys@localhost' ignored in --skip-name-resolve mode.
2019-10-20T11:14:22.776582Z 0 [Warning] 'proxies_priv' entry '@ root@localhost' ignored in --skip-name-resolve mode.
2019-10-20T11:14:26.296765Z 0 [Warning] 'tables_priv' entry 'user mysql.session@localhost' ignored in --skip-name-resolve mode.
2019-10-20T11:14:26.422170Z 0 [Warning] 'tables_priv' entry 'sys_config mysql.sys@localhost' ignored in --skip-name-resolve mode.
2019-10-20T11:14:30.169912Z 0 [Note] Event Scheduler: Loaded 0 events
2019-10-20T11:14:30.198279Z 0 [Note] mysqld: ready for connections.
Version: '5.7.24'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  MySQL Community Server (GPL)
2019-10-20T11:14:42.680171Z 0 [Note] InnoDB: page_cleaner: 1000ms intended loop took 4111ms. The settings might not be optimal. (flushed=0 and evicted=0, during the time.)

我的laravel应用程序无法连接到mysql数据库,这在我的配置中有什么问题?

通常mysql端口号是3306,而不是3036;这是问题中的打字错误还是你的申请?错误消息是否包含尝试连接位置的详细信息?您甚至可以在日志中看到db正在侦听端口
3306
,但您正在尝试连接到
3036