Docker:SQLSTATE [HY000] [2002]没有这样的文件或目录

时间:2017-10-13 05:44:01

标签: php mysql docker yii2 mariadb

嘿伙计们,我正在尝试将Yii2mysql上的mariadb联系起来。

我正在使用docker而且我有这些容器

mariadbphp-fpm我可以使用此命令mariadb连接到mysql -u root -p容器内的mysql,没有任何问题。 也使用mysql workbench我也可以通过隧道连接到mysql也没问题。

但是当我运行网站时,例如。 mysite.com/user/login,登录时出现此错误

SQLSTATE[HY000] [2002] No such file or directory Caused by: PDOException

这是我在docker-compose文件中的mariadb配置

mariadb:
    image: bitnami/mariadb:latest
    container_name: mariadb
    working_dir: /bitnami/mariadb
    volumes:
        - ./data/mariadb:/bitnami/mariadb
    environment:
        - MARIADB_ROOT_PASSWORD=rootpass
        - MARIADB_DATABASE=mydb
        - MARIADB_USER=david
        - MARIADB_PASSWORD=pass
    ports:
        - "8890:3306"

在我main.php Yii2 {}} dsnmysql:host=ipvalueofmysite.com;port=8890;dbname=mydb {{1}}

1 个答案:

答案 0 :(得分:1)

就我而言,我找到了解决方案 here

基本上在 docker 中,db 服务名称成为数据库的主机名,我需要将 localhost 交换为 db 并且错误消失了。很奇怪,我知道。 :)