首页 > 解决方案 > docker 容器无法连接到 localhost mysql 服务器

问题描述

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

码头文件:

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): Access denied for user 'root'@'172.17.0.2' (using password: YES) in /var/www/html/mantisbt-2.19.0/will.php 在线3

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

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

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

标签: phpapachedockermysqli

解决方案


推荐阅读