PDO:SQLSTATE [HY000] [2002]没有这样的文件或目录(在Docker容器中)

时间:2018-01-07 20:56:59

标签: php mysql docker pdo dockerfile

我正在尝试使用Apache将一个Docker镜像与Apache链接到另一个图像。 Apache和PHP在第一次看起来效果很好,并且MySQL容器通过phpmyadmin成功连接到第三个容器,并且它可以工作。 但是当我尝试使用PDO创建新连接时,它返回 SQLSTATE [HY000] [2002]没有这样的文件或目录

try {
    $msql = new \PDO('mysql:host=localhost;dbname=test', 'root', 'password');
    echo 'Connected';
} catch (\PDOException $e) {
    echo 'Error: ' . $e->getmessage();
}

phpinfo()返回 pdo_mysql (mysqlnd 5.0.12-dev - 20150407 - $ Id:b5c5906d452ec590732a93b051f3827e02749b83 $)。 PHP版本是7.0.22。

这是Dockerfile:

FROM ubuntu:16.04

RUN apt-get update

# Apache
RUN apt-get -y install apache2

# PHP
RUN apt-get -y install php libapache2-mod-php php-mcrypt php7.0-mysql
RUN phpenmod pdo_mysql

# phpmyadmin
#RUN apt-get -y install phpmyadmin

# Start Apache
CMD /etc/init.d/mysql start -D FOREGROUND
CMD /usr/sbin/apache2ctl -D FOREGROUND

EXPOSE 80

我使用mysql:5.7.13映像为mysql容器,暴露的3306端口,并且两个容器都在同一个网络中。任何想法问题在哪里?

0 个答案:

没有答案