我试图用我的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
我不再理解这个了! 谢谢你的帮助
答案 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和其他服务。