Sf3 Docker-compose:[2002] Connection拒绝了

时间:2017-11-30 13:51:37

标签: mysql symfony docker-compose

我试图用我的docker容器在symfony中更新我的架构。

有一个pdo例外:

  

[PDOException]
    SQLSTATE [HY000] [2002]拒绝连接

我的码头工作者用phpmyadmin撰写你的作品:

version: "3"
services:
   web:
       image: nginx:latest
       ports:
           - "3636:80"
       volumes:
           - .:/code
           - ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf
       links:
           - php

    php:
        build: ./docker/engine
        links:
            - db:mysql
        volumes:
           - .:/code
    db:
        image: mysql:5.7
        ports:
            - "3306:3306"
        expose:
            - "3306"
        volumes:
            - db_data:/var/lib/mysql
        environment:
            MYSQL_ROOT_PASSWORD: root
            MYSQL_USER: xxx
            MYSQL_PASSWORD: xxx
            MYSQL_DATABASE: xxx

     phpmyadmin:
        image: phpmyadmin/phpmyadmin
        links:
            - db:mysql
        ports:
            - 76:80
        environment:
            MYSQL_USERNAME: root
            MYSQL_ROOT_PASSWORD: root

volumes:
    db_data:

我的参数.yml:

 database_host: db
 database_port: 3636
 database_name: xxx
 database_user: xxx
 database_password: xxx

我不再理解这个了! 谢谢你的帮助

2 个答案:

答案 0 :(得分:1)

数据库容器公开和使用的端口是3306。 所以在parameters.yml尝试

 database_port: 3306

而不是

 database_port: 3636

希望这个帮助

答案 1 :(得分:0)

你的nginx处理3636,数据库工作在3306上,将parameters.yml中的database_port从3636更改为3306,如果你的代码存在于Docker中 - 删除

        ports:
        - "3306:3306"

钢铁公司只在Docker内部公开了3306用于MySQL和其他服务。