docker的mysql连接通过PHP

我在docker-compose.yml中有以下设置

mysql: image: mysql:latest ports: - "3306" volumes: - /var/lib/mysql environment: MYSQL_ROOT_PASSWORD: secret MYSQL_DATABASE: project MYSQL_USER: project MYSQL_PASSWORD: project 

在我的index.php中,我想连接到我的数据库容器,但是,我不知道键入什么host = localhost,

下面的代码不起作用

 <?php $db = new PDO('mysql:host=localhost;dbname=project;charset=utf8mb4', 'project', 'secret'); 

它说

 Fatal error: Uncaught PDOException: could not find driver in /code/index.php:2 Stack trace: #0 /code/index.php(2): PDO->__construct('mysql:host=loca...', 'project', 'secret') #1 {main} thrown in /code/index.php on line 2 

谢谢

您的错误消息表明Mysql驱动程序不可用。

在Ubuntu / Debian中,您检查包装:

 dpkg --get-selections | grep php5-mysql 

如果没有,请安装php5-mysql软件包。

在Ubuntu / Debian中,您可以使用:

 sudo apt-get install php5-mysql 

添加该模块之后,请确保将mysql端口映射到主机中的任何端口

 mysql: image: mysql:latest ports: - "3306:3306" ... 

之后,你可以使用mysql:host=localhost:3306