【问题标题】:Docker symfony 4 and mysqlDocker symfony 4 和 mysql
【发布时间】: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


【解决方案1】:

在你的 php 容器中安装 php pdo MySQL 包。

【讨论】:

  • si 我有另一个错误驱动程序发生异常:SQLSTATE [HY000] [2054] 服务器请求客户端未知的身份验证方法
  • 你在mysql8上吗?
  • 如果是这样,我认为他们用哈希改变了一些东西。但不确定。你应该谷歌它
猜你喜欢
  • 1970-01-01
  • 2018-09-05
  • 1970-01-01
  • 2019-12-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多