Php Docker MySQL mysqli::real_connect():(HY000/2002):连接被拒绝
我是个新手。我正在尝试连接两个容器,它们是CodeIgniter应用程序和MySQL。我似乎无法解决我的web应用程序上的“mysqli::real_connect:HY000/2002:连接被拒绝”问题。我能够从容器内部ping到另一个容器,反之亦然 这是我的docker-compose.yml文件: Dockerfile: 以下是我的database.php配置:Php Docker MySQL mysqli::real_connect():(HY000/2002):连接被拒绝,php,mysql,docker,codeigniter,docker-compose,Php,Mysql,Docker,Codeigniter,Docker Compose,我是个新手。我正在尝试连接两个容器,它们是CodeIgniter应用程序和MySQL。我似乎无法解决我的web应用程序上的“mysqli::real_connect:HY000/2002:连接被拒绝”问题。我能够从容器内部ping到另一个容器,反之亦然 这是我的docker-compose.yml文件: Dockerfile: 以下是我的database.php配置: $active_group = 'default'; $query_builder = TRUE; $db['default'
$active_group = 'default';
$query_builder = TRUE;
$db['default'] = array(
'dsn' => '',
'dbport' => '3306',
'hostname' => 'db',
'username' => 'root',
'password' => '',
'database' => 'ciblog',
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => FALSE,
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);
有谁能帮我确定这个问题吗?先谢谢你。
这是我的GitHub存储库,以备您查看文件:在基于Docker Compose的设置中,您可以使用服务名称作为主机名。在您的示例中,设置
'hostname' => 'db'
对此进行了更详细的讨论
Docker容器没有一致的IP地址,手动查找它们通常是没有用的。您不需要链接:在现代Docker中,删除该行也不会有害。在基于Docker Compose的设置中,您可以使用服务名称作为主机名。在您的示例中,设置
'hostname' => 'db'
对此进行了更详细的讨论
Docker容器没有一致的IP地址,手动查找它们通常是没有用的。您不需要链接:在现代Docker中,删除该行也不会有害。我终于找到了它。更改MySQL版本是可行的
image: mysql:5.7
资料来源:我终于拿到了。更改MySQL版本是可行的
image: mysql:5.7
来源:在基于Docker Compose的设置中,可以使用服务名称作为主机名。在您的示例中,设置
'hostname' => 'db'
'hostname'=>'db'在基于Docker Compose的设置中,您可以使用服务的名称作为主机名。在您的示例中,设置
'hostname' => 'db'
“hostname”=>“db”谢谢您的建议,先生,我会记住的。谢谢您的建议,先生,我会记住的。