docker容器无法连接到localhost mysql服务器

时间:2019-03-13 03:42:39

标签: php apache docker mysqli

我是docker的新手,尝试设置我的docker php-apache容器以连接到在我的本地主机上运行的mysql db。我创建了我的docker镜像,如下所示:

dockerfile:

FROM php:7.2-apache
RUN docker-php-ext-install mysqli

构建新的docker映像:

docker build -t will-php-env .

我的php应用程序放置在我的主文件夹中(/ home / will / php /)

我按如下方式运行容器:

sudo docker run -it -p 180:80 -v "$PWD":/var/www/html will_php_env

用于连接的代码为:

mysqli_real_connect( mysqli_init(),"192.168.1.17", "root", "password", "bugtracker" );

错误:

  

警告:mysqli_real_connect():(HY000 / 1045):在/var/www/html/mantisbt-2.19.0/will中,对用户'root'@'172.17.0.2'(使用密码:是)的访问被拒绝。第3行上的php

顺便说一句,如果我使用以下代码,我将能够从同一容器连接到mysql服务器:

<?php 
$will2k =  new mysqli("192.168.1.17", "gkeepa", "password", "php");

请让我知道为什么容器无法使用mysqli_real_connect连接到本地主机上的mysql服务器。预先感谢

1 个答案:

答案 0 :(得分:0)

omg,谢谢phil!那就是问题,我一直在追踪我的代码,却没有意识到我使用了错误的用户。就是这样!