【发布时间】:2019-01-22 01:46:22
【问题描述】:
我 dockerised 我的项目 symfony 它运行良好。我运行命令 sudo docker-compose 运行 php bin/console 学说:schema:update --force。
我有这个错误:驱动程序发生异常:找不到驱动程序
docker-compose.yml
eversion: '2'
services:
nginx:
build: nginx
ports:
- "8080:80"
links:
- php
volumes_from:
- php
volumes:
- ./logs/nginx/:/var/log/nginx
- ./symfony:/var/www/symfony
db:
image: mysql
ports:
- 3307:3307
volumes:
- "./.data/db:/var/lib/mysql"
environment:
MYSQL_ROOT_PASSWORD: nolan
MYSQL_USER: nolan
MYSQL_PASSWORD: nolan
ports:
- "8002:3307"
php:
build: php7-fpm
ports:
- 9002:9000
links:
- db:mysql
volumes:
- ./symfony:/var/www/symfony
- ./logs/symfony:/var/www/symfony/app/logs
.env symfony
DATABASE_URL=mysql://nolan:nolan@0.0.0.0:8002/musiques
【问题讨论】:
-
在我看来,DATABASE_URL 是错误的。我希望它是
DATABASE_URL=mysql://nolan:nolan@db:3307/musiques。@db引用 docker-compose.yml 中的 db-service。端口8002是暴露给主机系统的端口,但不是容器之间使用的端口 -
据我所知,mysql 的默认端口是
3306。所以可能是你暴露的端口上没有运行任何东西? -
我将 prot 更改为 3306,我有同样的错误
-
could not find driver可能暗示缺少pdo_mysqldriver。您能否也将您的 Dockerfile 用于 php 容器添加到问题中?
标签: symfony docker docker-compose